PHP错误日志
1.开启错误日志
在项目上线时,为了保证安全,一般会设置display_error=off,可是这样一来,我们就无法发现出现的问题了。
为了解决这个问题,可以设置,将错误报告输出到错误日志中。
在配置文件中,设置log_error=on即可。默认的是服务器的error.log,服务器的另一个重要日志access.log主要记录访问信息。
2.用指定的文件作为错误日志
在配置文件中可以设置error_log的值设置指定文件作为错误日志。
1 <?php 2 3 ini_set('error_log','D://mylog.log'); 4 5 echo gettype($a); echo "E_NOTICE之后继续执行<br> ";//传递一个未定义的变量,这在PHP中是一个小问题 6 7 echo gettype(); echo "E_WARNING之后继续执行<br>";//没有正常向函数传递参数,这会产生一个警告 8 9 ?>
执行完成后就可以在相应的路径下找到日志文件了
3.直接向日志写入信息
error_log()函数可以直接向日志文件写入字符串。
1 <?php 2 3 ini_set('error_log','D://mylog.log'); 4 5 error_log('hello error'); 6 7 ?>
4.error_reporting和display_errors的区别
error_reporting(0)和display_errors=off同样可以设置不向页面报告错误,但是两者是有区别的。
display_errors=off只是不向页面输出,如果开启了错误日志,错误信息一样会输出到错误日志里面。
而error_reporting屏蔽的错误会被彻底屏蔽,无论是页面还是错误日志里都不会找到错误信息。当然如果你用了set_error_handler函数那么这个参数的设置将会失去意义。