CURLOPT_TIMEOUT 不适用于curl_multi
当有多个处理程序时,CURLOPT_TIMEOUT 选项似乎不起作用:
我通过此函数执行处理程序:
function ExecHandle(&$curlHandle)
{
$flag=null;
do {
curl_multi_exec($curlHandle,$flag);
} while ($flag > 0);
}
现在,当服务器关闭时,它会忽略 CURLOPT_TIMEOUT
并需要很长时间才能继续(第二次调用curl_multi_exec($curlHandle,$flag); 时卡住了。 有什么办法可以让超时起作用吗?或者如果需要太长时间,是否有另一种方法可以删除处理程序?
The CURLOPT_TIMEOUT option doesn't seem to work when there are multiple handlers:
I execute the handlers via this function:
function ExecHandle(&$curlHandle)
{
$flag=null;
do {
curl_multi_exec($curlHandle,$flag);
} while ($flag > 0);
}
Now when a server's down, it ignores the CURLOPT_TIMEOUT
and takes a really long time till it continues (it's stuck the second time it calls curl_multi_exec($curlHandle,$flag);
).
Is there any way to make the timeout work? Or is there another way to remove the handler if it takes too long?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 libcurl 7.21.2 之前,多接口不支持 CURLOPT_TIMEOUT
The multi interface didn't support CURLOPT_TIMEOUT until libcurl 7.21.2