Position actuelle: Accueil> Derniers articles> Explication détaillée de curl_multi_add_handle Après avoir ajouté une poignée, comment exécuter correctement la demande et gérer le résultat de retour?

Explication détaillée de curl_multi_add_handle Après avoir ajouté une poignée, comment exécuter correctement la demande et gérer le résultat de retour?

gitbox 2025-08-23
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie n&#39;a rien à voir avec le contenu de l&#39;article,Il peut s&#39;agir d&#39;initialisation ou d&#39;autres paramètres</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"initialisation PHP environnement...\n"</span></span><span>;
</span><span><span class="hljs-variable">$version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">phpversion</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"actuel PHP Version: <span class="hljs-subst">$version</span></span></span><span>\n";
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// L&#39;article commence</span></span><span>

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>Explication détaillée curl_multi_add_handle Après avoir ajouté la poignée,Comment exécuter correctement les demandes et traiter les résultats de retour?</h1>"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>exister PHP milieu,utiliser <code>cURL
';; écho "

2. Initialize Curl Multi-Handle Manager

"
; écho "

Ensuite, initialisez un gestionnaire multi-mancheur curl_multi_init () :

"
; écho '
<span class="fun">$ mh = curl_multi_init ();</span>
'
;; écho "

3. Ajoutez une seule poignée au gestionnaire multi-manche

"
; écho "

Utilisez curl_multi_add_handle () pour ajouter chaque poignée unique au gestionnaire:

"
; Echo '
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);
'
;
écho "

4. Exécuter des demandes simultanées

"
; écho "

Une fois l'ajout terminé, vous devez boucler pour exécuter curl_multi_exec () jusqu'à ce que toutes les demandes soient terminées:

"
; Echo '
$running = null;
do {
    $status = curl_multi_exec($mh, $running);
    // Facultatif: Attendez que le descripteur de fichiers change,réduire CPU Occupation
    curl_multi_select($mh);
} while ($running > 0);
'
;
écho "

5. Obtenez le résultat de retour

"
; écho "

Une fois la demande terminée, vous pouvez utiliser curl_multi_getContent () pour obtenir le contenu de retour de chaque poignée:

"
; Echo '
$response1 = curl_multi_getcontent($ch1);
$response2 = curl_multi_getcontent($ch2);

echo "Response 1: " . $response1 . "\n";
echo "Response 2: " . $response2 . "\n";
'
;
écho "

6. Retirez et fermez la poignée

"
; écho "

Enfin, la ressource doit être nettoyée, supprimée du gestionnaire multi-manchettes d'abord, puis a fermé le seul et multi-manche:

"
; Echo '
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);

curl_close($ch1);
curl_close($ch2);
curl_multi_close($mh);
'
;
écho "

Résumé

"
; écho "

Après avoir utilisé CURL_MULTI_ADD_HANDLE , les étapes de clé pour exécuter et obtenir le résultat correctement sont:

"
; ECHO "
  1. Créez une poignée Curl autonome et définissez l'option de retour.
  2. Initialisez le gestionnaire multi-manche.
  3. Ajoutez la poignée au gestionnaire.
  4. Luid le curl_multi_exec jusqu'à ce qu'il soit terminé.
  5. Obtenez le résultat avec Curl_Multi_getContent .
  6. Supprimer et fermer la poignée, libérer la ressource.
"
;
écho "

Avec ces étapes, vous pouvez effectuer efficacement les demandes HTTP simultanées tout en garantissant que les données retournées sont traitées correctement.

"
; ?>