错误发布500 PHP – 这是logging在哪里?

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

这让我好奇,因为我从来没有听说过PHP自动发射500s之前。 根据SO和其他地方的各种引用和回答,如果display_errors设置为false,那么确实是PHP的默认行为是抛出一个500 Internal Server Error头。

但是,我无法find官方的任何东西。 display_errors和error_reporting上的手册页什么都没说。

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

不确定,但是可能已经在PHP 5.2.4中添加了 :

  • 更改error handling程序发送HTTP 500而不是PHP错误的空白页面。 (德米特里,Andrei Nigmatulin)

关于内部清单的讨论也可能与此有关:

  • [PHP-DEV] FW:php fastcgi

引用:

当前大多数PHP安装使用设置“display_error = 0”。 这个设置隐藏了来自用户的错误,但是可能只给他一个空白页面。

build议的修补程序发送错误的HTTP 500响应而不是空白页面。 已经写了一些东西的页面不会受到影响。

任何反对意见或补充?

和拟议的解决scheme/补丁似乎在这里显示: