5

在开发 php web 系统时,设置E_ALL | E_STRICT为 error_reporting 并处理包括通知错误在内的所有类型的错误是一种很好的做法。

但是在发布的系统中,发生通知错误时我应该停止系统吗?

或者我应该仅在发生 E_ERROR 时停止系统并忽略所有其他错误,例如 E_WARNING、E_NOTICE 或 E_STRICT?

我应该在我的自定义错误处理程序中处理哪些类型的错误并停止(退出)系统?

4

1 回答 1

4

当您开发代码时,您应该注意任何警告,包括通知。

对于生产,您不应该真正停止错误。相反,您可以使用它set_error_handler()来管理任何错误,例如E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE. 将客户端重定向到自定义页面,针对任何类型的错误显示自定义消息。关键是不要留下默认的错误信息。

您应该始终拥有一个系统来报告您在生产服务器上遇到的任何错误(通过电子邮件等)并尽快处理它们。

php.net/set_error_handler 上,您有大量示例可以让您的生活更轻松,并帮助您跟踪错误和警告。

于 2012-10-06T11:46:38.650 回答