PHP错误日志

Posted patermenkey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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函数那么这个参数的设置将会失去意义。

以上是关于PHP错误日志的主要内容,如果未能解决你的问题,请参考以下文章

运行/调试你的PHP代码

开启php-fpm php错误日志

将 PHP 错误日志文件存储在脚本目录中,而不向现有脚本添加 PHP 代码

argparse 代码片段只打印部分日志

常用python日期日志获取内容循环的代码片段

php在代码中开启或关闭错误提示并将错误写入日志