Explication détaillée de la définition et de l'utilisation de la fonction PHP curl_multi_exec

巴扎黑
Libérer: 2023-03-07 21:46:02
original
2310 Les gens l'ont consulté

Cet article explique la définition et les exemples d'utilisation de la fonction PHP curl_multi_exec. La signification de la fonction curl_multi_exec est de exécuter la sous-connexion du handle cURL actuel. Examinons en détail sa description et ses exemples d'utilisation.

description de la fonction curl_multi_exec

int curl_multi_exec ( ressource $mh , int &$still_running )

Traitez chaque handle de la pile. Cette méthode peut être appelée si le handle doit lire ou écrire des données.

Paramètres de la fonction curl_multi_exec

mh

Les multiples poignées cURL renvoyées par curl_multi_init().

still_running

Une référence à un indicateur utilisé pour déterminer si l'opération est toujours en cours d'exécution.

La fonction curl_multi_exec renvoie une valeur

Un code cURL défini dans les constantes prédéfinies cURL.

Remarque : Cette fonction renvoie uniquement les erreurs liées à l'ensemble de la pile de lots. Des problèmes peuvent encore survenir avec les transferts individuels même lorsque CURLM_OK est renvoyé.

Exemple de fonction curl_multi_exec

Cet exemple créera 2 handles cURL, les ajoutera à un gestionnaire de lots et les exécutera en parallèle.

<?php
// 创建一对cURL资源
$ch1 = curl_init();
$ch2 = curl_init();

// 设置URL和相应的选项
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// 创建批处理cURL句柄
$mh = curl_multi_init();

// 增加2个句柄
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active = null;
// 执行批处理句柄
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

// 关闭全部句柄
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal