关于PHP的错误设置
在php.ini文件中,和错误有关的设置有如下几个:
(1)error_reporting,设定错误级别
(2)display_errors,是否显示错误报告,设置为ON则打开,设置为OFF则关闭所有错误提示
(3)log_errors,默认设置为OFF,是否记录错误日志;
(4)track_errors,默认设置为OFF,该选项可以帮助解决代码中的错误,而不是让PHP提供其默认的功能。
当log_errors为On时会记录PHP运行时产生的错误到文件,同时要指定error_log="/usr/local/php/var/log/php_error.log",如果没指定或者指定的文件没有权限写入,那么照样会输出到正常的输出渠道,那么也就使得display_errors这个指定的Off失效。如果设置了set_error_handler
或set_exception_handler也会影响到错误日志写入到文件(其实这两个方法捕捉到的错误信息就不会写入到文件了,如set_error_handler是捕捉Notice类错误信息,set_exception_handler是捕捉 Fatal error类错误,如果只设置了set_error_handler没有设置set_exception_handler,那么日志里只记录Fatal error类错误,如果只设置了set_exception_handler没有设置set_error_handler那么日志记录的只有Notice类错误信息,如果set_error_handler和set_exception_handler都设置那么日志里是不会记录任何错误信息的)。
同时可以通过phpinfo来查看当前的error_log的设置