curl_multi_exec

(PHP 5, PHP 7)

curl_multi_exec锟斤拷锟叫碉拷前 cURL 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟�

说锟斤拷

curl_multi_exec ( resource $mh , int &$still_running ) : int

锟斤拷锟斤拷锟斤拷栈锟叫碉拷每一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷鄹镁锟斤拷锟斤拷要锟斤拷取锟斤拷写锟斤拷锟斤拷锟捷讹拷锟缴碉拷锟矫此凤拷锟斤拷锟斤拷

锟斤拷锟斤拷

mh

锟斤拷 curl_multi_init() 锟斤拷锟截碉拷 cURL 锟斤拷锟斤拷锟斤拷锟斤拷

still_running

一锟斤拷锟斤拷锟斤拷锟叫断诧拷锟斤拷锟角凤拷锟斤拷锟斤拷执锟叫的憋拷识锟斤拷锟斤拷锟矫★拷

锟斤拷锟斤拷值

一锟斤拷锟斤拷锟斤拷锟斤拷 cURL 预锟斤拷锟藉常锟斤拷锟叫碉拷 cURL 锟斤拷锟诫。

Note:

锟矫猴拷锟斤拷锟斤拷锟斤拷锟截癸拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷栈锟斤拷氐拇锟斤拷蟆<锟绞癸拷锟斤拷锟� CURLM_OK 时锟斤拷锟斤拷锟斤拷锟斤拷锟皆匡拷锟斤拷锟斤拷锟斤拷锟解。

锟斤拷锟斤拷

Example #1 curl_multi_exec() example

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷岽达拷锟� 2 锟斤拷 cURL 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷羌拥锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟饺伙拷锟斤拷械锟斤拷锟斤拷锟斤拷锟斤拷恰锟�

<?php
// 锟斤拷锟斤拷一锟斤拷cURL锟斤拷源
$ch1 curl_init();
$ch2 curl_init();

// 锟斤拷锟斤拷URL锟斤拷锟斤拷应锟斤拷选锟斤拷
curl_setopt($ch1CURLOPT_URL"http://lxr.php.net/");
curl_setopt($ch1CURLOPT_HEADER0);
curl_setopt($ch2CURLOPT_URL"http://www.php.net/");
curl_setopt($ch2CURLOPT_HEADER0);

// 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷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);

?>

锟轿硷拷

  • curl_multi_init() - 锟斤拷锟斤拷一锟斤拷锟斤拷cURL锟斤拷锟斤拷锟斤拷锟斤拷
  • curl_multi_select() - 锟饺达拷锟斤拷锟斤拷cURL锟斤拷锟斤拷锟斤拷锟叫的活动锟斤拷锟斤拷
  • curl_exec() - 执锟斤拷 cURL 锟结话