在这个问题中,OP提到PHP处于error_reporting关闭状态时会自动引发500错误,而XDebug会更改该行为。
error_reporting
这让我感到好奇,因为我以前从未听说过PHP自动发射500s。根据SO和其他地方的各种引用和答案,500 Internal Server Error如果display_errors设置为false ,则似乎确实是PHP的默认行为。
500 Internal Server Error
display_errors
但是,我找不到任何官方的资料。关于display_errors和error_reporting的手册页什么也没说。
有人知道在讨论此问题的PHP文档中有很好的资料吗?
不确定,但这可能已在PHP 5.2.4中添加:
更改了错误处理程序,以发送HTTP 500而不是PHP错误的空白页。(德米特里,安德烈·纽格特林)
内部列表上也存在与此相关的讨论:
报价:
当前大多数PHP安装使用设置’display_error = 0’。此设置对用户隐藏错误,但可能仅向用户发送空白页。 提议的补丁会针对错误而不是空白页面发送HTTP 500响应。已经写过东西的页面不受影响。 有任何异议或补充吗?
当前大多数PHP安装使用设置’display_error = 0’。此设置对用户隐藏错误,但可能仅向用户发送空白页。
提议的补丁会针对错误而不是空白页面发送HTTP 500响应。已经写过东西的页面不受影响。
有任何异议或补充吗?