PHP奇数500服务器错误

时间:2017-02-16 01:59:19

标签: php internal-server-error http-status-code-500

我遇到这个非常奇怪的500内部服务器错误(标头之前的脚本输出结束)。当我尝试执行一个需要相当长时间才能运行的.php文件时,就会发生这种情况。我已通过在文件中添加set_time_limit(120); ini_set('max_execution_time', 120);来采取预防措施。 2分钟就足够了。我还宣布header('Content-Type: text/plain');

现在奇怪的是 - 大部分时间,代码实际上完全执行,直到最后exit();的所有内容都已完全执行(我无法检查最后一个退出是否存在)。但是,我仍然收到500内部服务器错误(日志显示为End of script output before headers)。

即使是奇怪的是,如果我在5-10分钟内第二次运行文件,那么一切都运行得很好。 有时,代码会在事物中间停止并抛出错误。

如果重要,当脚本在中间停止时,它通常在从yml文件中读取项目并将它们写入csv文件的foreach循环中。它总是在循环完成时。

我真的不知道为什么会这样。

任何帮助将不胜感激。

非常感谢,
fraeckey

2 个答案:

答案 0 :(得分:0)

您很可能遇到网络服务器问题。如果它是apache,则有Timeout Directive。您可能还遇到内存问题,这些问题同样在php.ini和apache中都有设置。但是没有更多的细节......我担心这和我能提供的一样多。

答案 1 :(得分:-1)

如果您使用的是Wordpress,可能会出现一些语法错误。在开发模式下运行代码。你会看到错误。否则它会继续显示500错误。