Home > Article > Backend Development > Application of curl_multi in php multi-process
I believe many people have a headache about the functions of the curl_multi family that are unclear in PHP Manual. They have few documents and the examples given are so simple that you can’t learn from them. I have also I searched many web pages but could not find a complete application example.
curl_multi_add_handle
curl_multi_close
##curl_multi_remove_handle
curl_multi_select
Generally speaking, when you think of using these functions, the purpose should obviously be to request multiple URLs at the same time, rather than one by one. Request, otherwise it is better to
loopThe steps are summarized as follows: Step one: Call curl_multi_init
Step two: Call curl_multi_add_handle in a loopIt should be noted in this step that the second parameter of curl_multi_add_handle is given by Subhandle from curl_init.
Step 3: Continuously call curl_multi_execStep 4: Cyclically call curl_multi_getcontent to obtain the results as needed
Step 5: Call curl_multi_remove_handle, and call curl_close for each word handle
Step 6: Call curl_multi_close
Here is a simple example found online, the author calls it
dir
ty example, (I will explain why dirty later):
/*
Here's a quick and dirty example for curl-multi from PHP, tested on PHP 5.0.0RC1 CLI / FreeBSD 5.2.1
*/
mains = array(
"http://www.cnn.com /", ($connomains as $i => $url) { $conn[$i]=curl_init($url);
curl_se
topt($conn[$i],CURLOPT_RETURNTRANSFER ,1); curl_multi_add_handle ($mh,$conn[$i]);
}
while
($active);
foreach ($connomains as $i => $url) {
print
_r($res);
interface
and usage in php It is indeed different from C.Change the do section above to the following:
do {
because ULTI_PERFORM);
While ($ Active and $ Mrc == CURLM_OK) { IF (CURL_MultI_SELECT ($ MH)! = --1) {
## Do {set
curl_setopt($ch, CURLOPT_
TIMEOUT, $timeout);
To determine whether there is a timeout or other errors, use: curl_error($conn[$i] before curl_multi_getcontent );
The above is the detailed content of Application of curl_multi in php multi-process. For more information, please follow other related articles on the PHP Chinese website!