php运行是出现错误是不是会存储到错误日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php运行是出现错误是不是会存储到错误日志相关的知识,希望对你有一定的参考价值。

php运行是出现错误是否会存储到错误日志? 错误日志在哪里,错误日志多了是否会影响网站打开? get的参数不存在但是仍然去获取是否也是一种错误?

参考技术A 第一:错误日志自己做,一般不会自动产生。
第二:错误日志一般在文本文件末尾添加,文件不会被浏览器加载,不影响打开,但如果错误较多,用户也多,写文件会较慢,一般情况影响不大。
第三:不是,可用isset查看是否定义该数据。

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 错误与异常的日志记录

tomcat500没有错误日志

php返回500错误但没有错误日志

php日志(慢日志和错误日志)

PHP-cgi 随机停止工作而没有错误日志