PHP错误日志之 display_errors与log_errors的区别

回复 星标
更多
«
PHP错误日志之 display_errors与log_errors的区别
»
-
-

display_errors

display_errors,错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。

display_errors = On

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

dispaly_errors = Off

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

log_errors

log_errors设置是否将脚本运行的错误信息记录到服务器错误日志或者error_log之中。注意,这是与服务器相关的特定配置项。在生产系统中,强烈建议你使用错误日志记录web站点上显示的错误信息。

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

某个产品投入使用后,难免会有错误信息,那么如何记录这些对开发人员非常有用的信息呢?

将PHP的log_errors开启即可,默认是记录到WEB服务器的日志文件里,比如Apache的error.log文件,当然也可以记录错误日志到指定的文件中。代码如下:

# vim /etc/php.inidisplay_errors = Off

log_errors = On

error_log = /var/log/php-error.log

另外也可以设定error_log = syslog,使这些错误信息记录到操作系统的日志里。

新窗口打开 关闭