Javascript debugger
Website design
↑
Processes each of the handles in the stack. This method can be called whether or not a handle needs to read or write data.
A cURL multi handle returned by curl_multi_init().
A reference to a flag to tell whether the operations are still running.
A cURL code defined in the cURL Predefined Constants.
This only returns errors regarding the whole multi stack. There might still have
occurred problems on individual transfers even when this function returns
CURLM_OK
.
This example will create two cURL handles, add them to a multi handle, and then run them in parallel.
<?php
// create both cURL resources
$ch1 = curl_init();
$ch2 = curl_init();
// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
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);
$running=null;
//execute the handles
do {
$mrc = curl_multi_exec($mh, $running);
} 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_init() |
curl_exec() |