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