【发布时间】:2018-03-23 11:37:47
【问题描述】:
我编写了一个小的 PHP 脚本,我在 VS-Code(无浏览器)中从本地命令行运行。该脚本使用file_get_contents() 连接到一个 URL 最多 4,000 次以下载不同的 JSON 文件。
一段时间后调用file_get_contents(),但没有返回,脚本终止。我在file_get_contents() 调用之前和之后放置了echo 语句以尝试诊断问题。
起初我以为是超时问题,但事实并非如此,因为我可以在 30 到 150 秒之间成功调用 200 到 1,500 次。看起来好像连接正在被另一端丢弃/拒绝/终止,但我遇到的问题是我无法阻止我的脚本终止。我查看了 C:\wamp64\logs 文件夹,但没有记录任何内容。
有什么方法可以确定导致问题的原因,更重要的是,防止我的脚本终止,以便它可以继续。
我没有为调用file_get_contents() 创建/修改任何标题信息。
foreach ($urls as $url) {
echo "URL: $url\n";
echo "Get file data\n";
$json = file_get_contents($url);
echo "Got file data\n";
}
示例输出... 获取文件数据
[Done] 在 325.239 秒内以 code=null 退出
【问题讨论】:
-
如果您需要解决方案或建议,请发布代码。如果您只想聊天,那么您上错了网站。阅读How to Ask 一个好问题。
-
你能不能把一些代码放进去,我们至少可以尝试回答终止脚本部分的问题。这样你就成功了一半……
-
我已经更新了一个代码示例。
-
要不你去掉error silencing operator
@看看抛出了什么错误... -
不是个好日子 :-( 抱歉,'@' 字符不应该存在。我看到其他人建议它,所以我只是出于沮丧而添加它。我会从代码示例。
标签: php file-get-contents