我编写了一个小的PHP脚本,我在VS-Code(没有浏览器)的本地命令行中运行。该脚本使用file_get_contents()
连接到URL最多4,000次以下载不同的JSON文件。
一段时间后,调用file_get_contents()
,但不返回,脚本终止。我在echo
调用之前和之后发出了file_get_contents()
声明,以尝试诊断问题。
我起初认为这是一个超时问题,但事实并非如此,因为我可以在200到1,500个成功的通话中进行30到150秒的调用。看起来好像连接被另一端丢弃/拒绝/终止,但我遇到的问题是我无法阻止我的脚本终止。我查看了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";
}
示例输出...... 获取文件数据
[完成]在325.239秒内退出代码= null
答案 0 :(得分:0)
好的,我终于找到了问题的根源。问题与它在VS Code中的运行方式有关。通过添加以下设置(文件|首选项|设置)来在集成终端而不是输出窗口中运行代码,它现在可以工作: - )
{
"code-runner.runInTerminal": true
}