PHP

curl_multi_exec

curl_multi_exec

(PHP 5, PHP 7)

curl_multi_exec - 运行当前cURL句柄的子连接

描述

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

处理堆栈中的每个句柄。可以调用此方法,以确定句柄是否需要读取或写入数据。

参数

mh

由curl_multi_init()返回的cURL多重句柄。

still_running

引用标志以指示操作是否仍在运行。

返回值

cURL 预定义常量中定义的cURL代码。

注意:这只会返回有关整个多堆栈的错误。即使此函数返回,个别传输仍可能发生问题CURLM_OK

例子

Example #1 curl_multi_exec() example

这个例子将创建两个cURL句柄,将它们添加到一个多句柄,并异步处理它们。

<?php // create both cURL resources $ch1 = curl_init( $ch2 = curl_init( // set URL and other appropriate options 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 //create the multiple cURL handle $mh = curl_multi_init( //add the two handles curl_multi_add_handle($mh,$ch1 curl_multi_add_handle($mh,$ch2 $active = null; //execute the handles 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     } } //close the handles curl_multi_remove_handle($mh, $ch1 curl_multi_remove_handle($mh, $ch2 curl_multi_close($mh ?>

← curl_multi_errno

curl_multi_getcontent →