PHP 在错误时发出 500 个 - 这在哪里记录?

PHP emitting 500 on errors - where is this documented?

提问人:Pekka 提问时间:6/19/2010 最后编辑:CommunityPekka 更新时间:11/19/2015 访问量:5077

问:

在这个问题中,OP 提到 PHP 在关闭时会自动抛出 500 错误,而 XDebug 改变了这种行为。error_reporting

这让我很好奇,因为我以前从未听说过 PHP 会自动发出 500 秒。根据 SO 和其他地方的各种引用和答案,如果设置为 false,则抛出标头似乎确实是 PHP 的默认行为。500 Internal Server Errordisplay_errors

但是,我找不到任何官方消息。display_errorserror_reporting 上的手册页什么也没说。

有没有人知道 PHP 文档中谈论这个问题的好来源?

PHP 阿帕奇

评论


答:

10赞 Gordon 6/19/2010 #1

不确定,但这可能是在 PHP 5.2.4 中添加的:

  • 更改了错误处理程序以发送 HTTP 500 而不是 PHP 错误的空白页。(德米特里,安德烈·尼格马图林)

在内部列表中也有可能相关的讨论:

引用:

目前大多数PHP安装使用设置'display_error=0'。 此设置对用户隐藏错误,但可能只向他发送空白页。

建议的补丁在错误时发送 HTTP 500 响应,而不是空白页。 已经写了一些东西的页面不受影响。

有什么异议或补充吗?

建议的解决方案/补丁似乎如下所示:

评论

0赞 Pekka 6/19/2010
好渔获,谢谢!好像就是这样。然后这是一个记录不佳的新功能,因为它似乎甚至没有票证。
0赞 Armen Michaeli 6/19/2010
应该注意(并通知补丁作者),严格来说,空白页是空白页,无论如何都是状态代码,因为页面在正文中,而响应代码在标题中。考虑到大多数浏览器不会通知用户状态代码这一事实,这一点更为重要。预计响应机构会告诉他们这一点。