PHP脚本抛出内部服务器错误500,在打开display_errors时修复

时间:2012-04-25 08:19:45

标签: php

我今天遇到了一个问题,我的PHP脚本会在完成后发送服务器错误500(在apache上)。代码类似于:

//many stuff here that work
echo "It reached here";
exit;

我总是在出口前达到目的;命令。在进行谷歌搜索时,我遇到this post,建议启用display_errors。我做到了,500错误就消失了。

所以我想问,有没有人解释为什么会这样?这个SO post描述了一个类似的案例,但没有解释。

一如既往,提前谢谢

2 个答案:

答案 0 :(得分:2)

很可能你也获得了500状态代码,但是因为PHP回应了浏览器,所以apache不会跳进并显示它的标准状态500错误页面。

您需要验证实际状态代码,以确认您仍然不会收到500错误。

如果发生致命错误,PHP通常会发送500状态代码。由于此时进程通常失败(因此导致致命)并且从那时起没有生成输出,因此Web服务器会跳入并向用户提供标准的500内部服务器错误页面。

答案 1 :(得分:0)

似乎代码在循环中的eval()函数内生成了解析错误。这种错误不会破坏代码执行,但会产生500错误