CURLOPT_TIMEOUT 在 php / windows 中不起作用?

Posted

技术标签:

【中文标题】CURLOPT_TIMEOUT 在 php / windows 中不起作用?【英文标题】:CURLOPT_TIMEOUT not working in php / windows? 【发布时间】:2011-08-22 02:09:31 【问题描述】:

我在 XAMPP 和 Windows 中使用以下函数。但我不断收到“致命错误:超过 30 秒的最大执行时间”

有什么建议吗?

function is_404($url) 
    $handle = curl_init($url);
    curl_setopt($handle,  CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($handle,  CURLOPT_TIMEOUT,10);
    curl_setopt($handle,  CURLOPT_CONNECTTIMEOUT,10);

    /* Get the html or whatever is linked in $url. */
    $response = curl_exec($handle);

    /* Check for 404 (file not found). */
    $httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
    curl_close($handle);

    /* If the document has loaded successfully without any redirection or error */
    if ($httpCode >= 200 && $httpCode < 300) 
        return false;
     else 
        return true;
    

【问题讨论】:

【参考方案1】:

您的 libcurl 版本可能存在错误。或许您可以尝试升级到更新的版本?

您能否在该系统上(在特定 URL 上)运行 curl 命令行工具来调试发生的情况?如果可以的话,使用 -v 或 --trace-ascii 选项应该很有价值,可以准确显示 curl 做什么和不做什么。

您的代码应该可以正常工作。

【讨论】:

谢谢!事实证明我在一次调用中检查了太多 url,因此我达到了 php 时间限制。现在将其设置为 0。

以上是关于CURLOPT_TIMEOUT 在 php / windows 中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

PHP cURL:CURLOPT_CONNECTTIMEOUT 与 CURLOPT_TIMEOUT

PHP实现异步操作

php的post

PHP中curl的使用

记一次php curl导致的故障

带有 curl 短信的 php 在实时服务器上发送