【问题标题】:How to check if multi_curl is supported on PHP?如何检查 PHP 是否支持 multi_curl?
【发布时间】:2012-07-05 18:44:11
【问题描述】:

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

在我托管的 PHP 服务器上一切正常。

但它在我的 WAMPServer 127.0.0.1 上失败了。单个 cURL 请求在 WAMPServer 上工作得很好,但 curl_multi_select() 只会返回 -1,直到脚本最终超时。

代码...是 PHP.net 的 curl_multi_exec 手册页上的示例 #1:http://www.php.net/manual/en/function.curl-multi-exec.php 这是导致无限循环的sn-p:

$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_* 的支持,以便我可以回退?

【问题讨论】:

  • 如果你在你的 php.ini 中启用了 curl,你应该很好地使用 multi_curl
  • curl_error() 有什么要说的?
  • 这个答案应该是你要找的:stackoverflow.com/questions/9840688/…

标签: php windows curl wampserver curl-multi


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-10-17
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多