禁止用户可见的PHP错误消息,但不是错误日志消息

时间:2012-03-15 16:53:06

标签: php error-handling

我希望PHP仍然将它的次要和致命错误发送到错误日志,但不会将其显示给用户。我一开始以为我可以使用error_reporting(0);来抑制所有错误消息,周期,但这并不是很理想。我知道我也可以把所有东西都放在试一试,但这也不是很理想。对于常规错误,是否存在任何更自动的错误,例如致命错误(例如register_shutdown_function())?

说到致命错误,我尝试按照SO answer中的建议使用register_shutdown_function()抓住它们。当我这样做时,捕获了致命错误,但error_get_last();始终为空。我还尝试使用debug_backtrace();来捕获错误消息。它 包含我想要的有关致命错误的信息,但它似乎具有实际将该信息打印给用户的不良副作用,这是我试图避免的情况。

有没有其他方法可以做我正在尝试做的事情和/或我可以这样做的方法(将错误消息记录到控制台而不是用户)使用我上面描述的方法?谢谢。

1 个答案:

答案 0 :(得分:4)

在php.ini中设置display_errors=0log_errors=1

这应该是任何生产服务器的默认设置。

相关问题