如何检查PHP是否支持multi_curl?

时间:2012-07-05 18:44:11

标签: 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);
    }
}

已禁用Vista的防火墙进行测试。

有没有人知道如何让curl_multi_ *在WAMPServer上运行,或者有没有办法从PHP脚本中检测对curl_multi_ *的支持,这样我就可以做回退了?

1 个答案:

答案 0 :(得分:5)

使用function_exists('curl_multi_select')来检测支持。

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