如何检查PHP是否支持multi_curl?

Mar*_*ijn 1 php windows curl wampserver curl-multi

我有一段PHP代码使用cURL来发布请求,它使用curl_multi_*函数来提高性能.

它在托管的PHP服务器上运行良好.

但是在127.0.0.1我的WAMPServer失败了.单个cURL请求在WAMPServer上工作正常,但curl_multi_select()只有在脚本最终超时之前才返回-1.

代码...是关于curl_multi_exec的PHP.net手册页上的示例#1: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);
    }
}
Run Code Online (Sandbox Code Playgroud)

测试Vista的防火墙已禁用.

有谁知道如何获得curl_multi_*工作WAMPServer或者是有什么方法来检测curl_multi_*支持PHP脚本中,所以我可以做一个备用的?

小智 5

使用function_exists('curl_multi_select')检测的支持.

http://php.net/manual/en/function.function-exists.php