PHP错误日志记录:display_errors与log_errors的区别

我们所做的东西,无论在开发环境还是在生产环境都可能会出现一些问题。

开发环境下,我们会要求错误尽可能详细的呈现出来,错误提示信息越详细越好,越详细越能帮助开发人员确定问题所在并从根本上解决他们。

生产环境下,为了良好的用户体验以及网站安全,我们会尽可能少的出现错误提示。

那具体到php语言中,我们又要怎么做呢?

首先了解一下php中的两个配置项:

(1)display_error

display_errors ,错误回显,一般常用与开发环境。如果在生产环境中开启选项,错误回显会暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。

display_errors = On

开启状态下,若出现错误,则报错,出现错误提示

dispaly_errors = Off

关闭状态下,若出现错误,则提示:服务器错误。但是不会出现错误提示

对于PHP开发人员来说,一旦某个产品投入使用,那么第一件事就是应该将display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到黑客攻击。

既然生产环境中不能出现错误提示信息,而当网站出现问题,我们有需要查看具体的错误信息时有需要怎么做呢?没错,这就用到了下面的错误日志记录。

(2)log_error

log_error,错误日志,一般用于生产环境中。开发人员可以分析错误日志内容,进而发现并解决问题。

log_error=on 开启错误日志

log_error=off  关闭错误日志

日志默认是记录到WEB服务器的日志文件里,比如Apache的error.log文件。 当然也可以记录错误日志到指定的文件中。

     # vim /etc/php.inidisplay_errors = Off
log_errors = On
error_log = /var/log/php-error.log

在生产环境中,一旦开启了错误日志记录功能,个人强烈建议设置错误日志目录。

上一篇:Log4Net 之将日志记录到数据库的配置 (一)


下一篇:手把手教你,C#.Net如何用Log4net把错误日志写入到SQLite数据库中