php调用file_get_contents()终止脚本

时间:2018-03-23 11:37:48

标签: php file-get-contents

我编写了一个小的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

1 个答案:

答案 0 :(得分:0)

好的,我终于找到了问题的根源。问题与它在VS Code中的运行方式有关。通过添加以下设置(文件|首选项|设置)来在集成终端而不是输出窗口中运行代码,它现在可以工作: - )

{
    "code-runner.runInTerminal": true
}