在开发 php web 系统时,设置E_ALL | E_STRICT
为 error_reporting 并处理包括通知错误在内的所有类型的错误是一种很好的做法。
但是在发布的系统中,发生通知错误时我应该停止系统吗?
或者我应该仅在发生 E_ERROR 时停止系统并忽略所有其他错误,例如 E_WARNING、E_NOTICE 或 E_STRICT?
我应该在我的自定义错误处理程序中处理哪些类型的错误并停止(退出)系统?
在开发 php web 系统时,设置E_ALL | E_STRICT
为 error_reporting 并处理包括通知错误在内的所有类型的错误是一种很好的做法。
但是在发布的系统中,发生通知错误时我应该停止系统吗?
或者我应该仅在发生 E_ERROR 时停止系统并忽略所有其他错误,例如 E_WARNING、E_NOTICE 或 E_STRICT?
我应该在我的自定义错误处理程序中处理哪些类型的错误并停止(退出)系统?
当您开发代码时,您应该注意任何警告,包括通知。
对于生产,您不应该真正停止错误。相反,您可以使用它set_error_handler()
来管理任何错误,例如E_USER_ERROR
, E_USER_WARNING
, E_USER_NOTICE
. 将客户端重定向到自定义页面,针对任何类型的错误显示自定义消息。关键是不要留下默认的错误信息。
您应该始终拥有一个系统来报告您在生产服务器上遇到的任何错误(通过电子邮件等)并尽快处理它们。
在php.net/set_error_handler 上,您有大量示例可以让您的生活更轻松,并帮助您跟踪错误和警告。