记录了PHP错误日志但在浏览器中未显示

5
我想创建错误日志,但不希望在浏览器中显示它。
目前当出现错误、警告/通知时,会创建日志并在浏览器中显示错误,但我希望强制系统不向站点访问者显示错误信息,而是为我创建日志。
谢谢。

你需要这个:http://www.php.net/manual/zh/errorfunc.configuration.php#ini.display-errors - Roman Newaza
使用ini_set('display_errors','Off');方法可以实现此功能。 - user2223377
4个回答

7

请确保您的php.ini文件中有以下内容:

display_errors = Off
error_log = /var/log/php/error.log # Assuming you have /var/log/php directory and it's writable by httpd
error_reporting = E_ALL & ~E_DEPRECATED

或者使用 ini_set() 在运行时设置它们为选项


我使用了 ini_set(),但仍然无法在不在浏览器上显示错误的情况下记录错误。我也无法将错误记录到其他自定义文件中。 - Citra45Abadi

6

将以下代码添加到您的脚本顶部:

//don't display errors
ini_set('display_errors', 0);
//write errors to log
ini_set('log_errors', 1);
//error log file name
ini_set('log_errors', '/var/log/php/error.log');

error_reporting(E_ALL);

0

可能尝试一下

error_reporting(E_ERROR | E_PARSE);

0
如果您想记录自定义错误:
try {
    // your code here
} catch (Exception $e){
    error_log($e->getMessage(), $e->getCode(), $e->getFile().' Line '.$e->getLine());
}

否则使用user4035 way


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接