【发布时间】:2014-04-25 12:55:16
【问题描述】:
我的 PHP 版本是 5.5.7。
我设置error_reporting(E_ALL);
然后我故意把我的数据库密码写错了。
当我在使用 error_log() 之前使用 die() 时,我的屏幕显示 2 条消息:警告和错误:
Warning: mysqli::mysqli(): (42000/1044): Access denied for user 'user'@'%' to database 'database' in /folder/folder/folder/www/folder/file.php on line 2
Connect Error (1044) Access denied for user 'user'@'%' to database 'database'
在删除die() 代码并应用下面的代码后,我希望所有日志都在自定义日志文件中。然而;虽然日志文件包含我创建的消息,但我仍然在屏幕上收到包含敏感信息的警告。
$DBconn = new mysqli($DBhost, $DBuser, $DBpass, $DBname, $DBport);
if ($DBconn->connect_error)
{
error_log("Connect Error! ".$DBconn->connect_errno.' '.$DBconn->connect_error."\n\r", 3, "/home/www/host/PHP_errors.log");
}
问题:
我做错了什么?如何实现将各种错误打印到日志文件中?
【问题讨论】:
标签: php error-handling error-logging error-log