在开发和生产应用程序中设置错误报告的最佳实践是什么?目前我有以下内容:
// development
error_reporting(E_ALL);
// production
ini_set('display_errors', 0);
ini_set('log_errors', 1);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
在开发和生产应用程序中设置错误报告的最佳实践是什么?目前我有以下内容:
// development
error_reporting(E_ALL);
// production
ini_set('display_errors', 0);
ini_set('log_errors', 1);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
引用应该随PHP捆绑在一起的 php-production.ini:
; PHP comes packaged with two INI files. One that is recommended to be used ; in production environments and one that is recommended to be used in ; development environments. ; php.ini-production contains settings which hold security, performance and ; best practices at its core. But please be aware, these settings may break ; compatibility with older or less security conscience applications. We ; recommending using the production ini in production and testing environments.
; display_errors ; Default Value: On ; Development Value: On ; Production Value: Off ; display_startup_errors ; Default Value: Off ; Development Value: On ; Production Value: Off ; error_reporting ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED ; Development Value: E_ALL ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT ; html_errors ; Default Value: On ; Development Value: On ; Production value: On ; log_errors ; Default Value: Off ; Development Value: On ; Production Value: On
既然你要求最佳实践,我建议你采用这种做法。
error_reporting
设置为 -1
(即全部),关闭 display_errors
,并设置自定义的 error_log
。tail -f /path/to/error_log
。现在,您的通知、警告和错误将实时滚动显示,而不会扭曲网页的显示。isset()
检查。在循环中修复一个通知可以大大减少错误日志。所有东西都是错误!摆脱它们!一个空日志是一个按照预期运行的网站! - delboy1978uk
display_errors
。 - Spoodydisplay_errors
。有时候错误会导致头部信息过早发送,从而彻底破坏你的脚本!要跟踪日志! - delboy1978uk