2012-07-05 114 views
1

我有一段PHP代碼使用cURL來發布請求,它使用curl_multi_ *函數來提高性能。如何檢查PHP是否支持multi_curl?

這一切工作正常我的託管PHP服務器。

但它在我的WAMPServer在127.0.0.1失敗。單個cURL請求在WAMPServer上工作得很好,但curl_multi_select()只返回-1,直到腳本最終超時。

代碼...是示例#1 PHP.net手冊頁面上curl_multi_exec:http://www.php.net/manual/en/function.curl-multi-exec.php 下面是導致無限循環的片段:

$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); 
    } 
} 

測試了Vista的防火牆被禁用。

有沒有人知道如何讓curl_multi_ *工作在WAMPServer上,或者有什麼辦法從PHP腳本中檢測對curl_multi_ *的支持,所以我可以做一個備用?

+0

如果你已經在你的php.ini啓用捲曲,你要善於使用multi_curl – 2012-07-05 18:57:10

+0

是什麼'curl_error()'有什麼意見? – 2012-07-05 18:57:37

+0

這個答案應該是你正在尋找的東西:http://stackoverflow.com/questions/9840688/php-single-curl-works-but-multi-curl-doesnt-work – darkAsPitch 2012-07-05 20:07:53

回答