【发布时间】:2012-11-15 22:38:03
【问题描述】:
所以,我尝试从 url 获取带有 curl 的 xml 文件。问题是,文件是通过脚本按需生成的,这需要 80-100 秒,所以我的 curl 因超时错误而脱落。
网址看起来像这样:
https://domain/mancgi/report?params&out=xml
我尝试为脚本本身设置CURLOPT_TIMEOUT 和CURLOPT_CONNECTTIMEOUT 以及set_time_limit()(工作正常),但没有任何改变 - 仍然超时。
卷曲代码如下所示:
set_time_limit(1000);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($curl, CURLOPT_TIMEOUT, 300);
$xml = curl_exec($curl);
有人有什么想法吗?
【问题讨论】:
-
您需要从服务器设置中增加脚本执行时间限制。
-
你得到什么样的超时,你怎么知道的?请提供详细信息
-
执行时间会根据 phpinfo() 被 set_time_limit() 覆盖,但即使不是 - 默认设置为 180 秒,这本身就足够了。
-
我在大约 60 秒后超时,我可以保证这还不够。如果需要任何其他细节 - 我很乐意提供
-
你能确定远程服务没有超时吗?从命令行使用 curl 远程服务是否正常工作?