PHP在错误上发出500条消息-这在哪里有文档记录?

PHP在错误上发出500条消息-这在哪里有文档记录?,php,apache,Php,Apache,在OP中提到,当error\u reporting关闭时,PHP会自动抛出500个错误,XDebug会改变这种行为 这让我好奇,因为我以前从未听说过PHP自动发出500。根据SO和其他地方的各种引用和回答,如果display\u errors设置为false,则抛出500内部服务器错误标题似乎确实是PHP的默认行为 然而,我找不到任何关于这方面的官方消息。手册翻了几页,什么也没说 有人知道PHP文档中有一个很好的源代码谈到这一点吗?不确定,但这可能是: 将错误处理程序更改为发送HTTP 500

在OP中提到,当
error\u reporting
关闭时,PHP会自动抛出500个错误,XDebug会改变这种行为

这让我好奇,因为我以前从未听说过PHP自动发出500。根据SO和其他地方的各种引用和回答,如果
display\u errors
设置为false,则抛出
500内部服务器错误
标题似乎确实是PHP的默认行为

然而,我找不到任何关于这方面的官方消息。手册翻了几页,什么也没说


有人知道PHP文档中有一个很好的源代码谈到这一点吗?

不确定,但这可能是:

  • 将错误处理程序更改为发送HTTP 500,而不是PHP错误的空白页。(德米特里,安德烈·尼格马图林)
此外,还讨论了可能与此相关的问题:

引述:

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

建议的补丁发送HTTP 500错误响应,而不是空白页。 已写入内容的页面不会受到影响

有反对意见或补充意见吗

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


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