当前位置: > > > PHP - 让运行时的错误信息不显示在页面上(将错误记录到日志文件中)

PHP - 让运行时的错误信息不显示在页面上(将错误记录到日志文件中)

默认情况下,当 PHP 执行遇到错误时,会实时地将错误信息显示在页面上。
这个错误回显功能可以帮助我们在开发时快速地定位问题。但由于错误提示会暴露出许多敏感信息,从而为攻击者下一步攻击提供便利。所以在生产环境中,记得要关闭该功能,将错误信息屏蔽不显示。

1,Linux 服务器下的设置

(1)编辑 php.ini,将 log_errors 设置为 on
log_errors = On

(2)保存后重启 apache 即可。

2,Windows 服务器下的设置

(1)同样是编辑 php.ini。只不过除了将 log_errors 设置为 on 外,还需要定义 error_log 的路径及文件名。这样错误日志就会保存到指定的文件中。
log_errors = On
error_log = d:/php_log/errors.log

特别要注意的是,日志保存目录需要授予 php 标识用户的修改权限,否则日志文件无法生成。

(2)保存后重启服务器即可。

附:手动将错误信息记录到日志文件中

经过上面的配置后,除了运行时产生的所有错误会自动记录到日志文件中外,我们也可以在代码中使用 error_log() 方法主动将一些信息写到日志文件中,方便定位问题。
<?
error_log("Mysql数据库不可用!", 0);  //将错误消息写入到操作系统日志中 
?>
评论0