gpt4 book ai didi

php - 下载 xml 时 curl 超时

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:48:11 25 4
gpt4 key购买 nike

因此,我尝试使用 curl 从 url 获取 xml 文件。问题是,文件是通过脚本按需生成的,这最多需要 80-100 秒,因此我的 curl 因超时错误而下降。

url 看起来像这样:

https://domain/mancgi/report?params&out=xml

我尝试为脚本本身设置 CURLOPT_TIMEOUTCURLOPT_CONNECTTIMEOUT 以及 set_time_limit()(效果很好),但没有任何改变 -仍然超时。

curl 代码如下所示:

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);

有人有什么想法吗?

最佳答案

我相信您可能会在 php.ini 中设置 default_socket_timeout,默认情况下为 60 秒。

尝试更改,看看是否有效。如果没有,请试试这个。

$xml = file_get_contents($url);

这样做将使用包装器,您可以在此处阅读:http://php.net/manual/en/wrappers.php

并且您还需要确保在 php.ini 中启用了 file_get_contents 使用的所需包装器(通常启用,所以您应该没问题,但只需检查以确保)。

如果超时是由 CURL 强制执行的,使用它可能会绕过您遇到的超时,并记住将 php.ini 中的 default_socket_timeout 从 60 秒调整为我认为可能是您的问题的其他内容

要检查的 INI 设置

http://php.net/manual/en/filesystem.configuration.php

关于php - 下载 xml 时 curl 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13598956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com