相信許多人對PHP手冊中語焉不詳的curl_multi一族的函數頭疼不已,它們文檔少,給的例子 更是簡單的讓你無從借鑒,我也曾經找了許多網頁,都沒見一個完整的應用範例。
curl_multi_add_handle
curl_multi_close
#curl_multi_exec
##curl_multi_init
##curl_multi_init
for curl-multi from PHP, tested on PHP 5.0.0RC1 #*/
array("http://www.cnn.com /",
$conn[$i]=curl_init($url);
curl_seRETURNd ,1); curl_multi_add_handle ($mh,$conn[$i]);
#}do { $n=curl_##}
$res[$i]=curl_multi_getcontent($conn[$i]);
curl_close($conn[$i]);
###}######### ######print###_r($res);###### ######整個使用過程差不多就是這樣,但是,這個簡單程式碼有個致命弱點,就是在do循環的那段,在整個url請求期間是個死循環,它會輕易導致CPU佔用100%。 ######現在我們來改進它,這裡要用到一個幾乎沒有任何文檔的函數curl_multi_select了,雖然C的curl函式庫對select有說明,但是,php裡的###介面####和用法的確與C中有不同。 ######把上面do的段落改成下面這樣:###_MULTI_PERFORM);
while ($active and $mrc == CURLM_OK) {- if (curl_multi_select($mh) != -1) {
#
以上是php多進程中curl_multi的應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!