2012-07-05 112 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

回答