【问题标题】:When PHP Fatal error happens, Nginx reports HTTP Error 500 to browser当发生 PHP Fatal 错误时,Nginx 向浏览器报告 HTTP Error 500
【发布时间】:2011-07-16 02:29:32
【问题描述】:

我的服务器是用 Nginx + PHP + FastCGI 设置的。每当 PHP 抛出致命错误时,它会记录在 nginx/error.log 中,但服务器会将 HTTP 错误 500 报告回浏览器,而不是像其他设置中所期望的那样向浏览器显示 PHP 致命错误。我一直在寻找如何解决这个问题并不断出现问题。有人对此有什么帮助吗?非常感谢!

【问题讨论】:

  • 您是否启用了display_errors
  • display_errors 在 php.ini 中设置为“On”,我确保它是系统上唯一的 php.ini
  • 你用的是什么 FastCGI 进程管理器,什么 PHP 版本?
  • PHP 5.3.2。需要使用以下命令启动的普通旧 FastCGI:php-cgi -b 127.0.0.1:9000 &
  • 嗯。 ini 设置fastcgi.logging 的值是多少?您能否更新到 5.3.3 或更高版本并尝试new, built-in FPM FastCGI interface

标签: php nginx fastcgi


【解决方案1】:

找到了!

As of PHP 5.2.4, the default is now to cause a 500 error,因为替代方案是空白页。

Other discussions 建议对于“PHP 致命”错误类型无法更改此行为,该错误类型不会流经正常的错误处理程序例程,也无法被捕获或停止。

【讨论】:

    【解决方案2】:

    您可能在您的 php 加载程序脚本中关闭了 php_errors(或显示它们)...尝试检查您的 php.ini 设置...

    【讨论】:

    • display_errors 在 php.ini 中设置为“On”,我确保它是系统上唯一的 php.ini
    猜你喜欢
    • 2017-04-08
    • 1970-01-01
    • 2010-11-30
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    相关资源
    最近更新 更多