如何在php中禁用错误​​显示并将其记录在文件中

时间:2011-11-15 02:25:17

标签: php error-reporting

我正在尝试禁用文件中的错误显示,只是将它们记录到日志文件中

<?php
error_reporting('E_ALL');
echo $x;
?>

当我删除error_reporting('E_ALL')时,日志文件仍然有效,但随后也会显示错误。 是否有其他方法可以执行此操作,但仅禁用特定页面上的错误报告。

2 个答案:

答案 0 :(得分:3)

您可以创建自定义错误处理功能,并通过set_error_handler()

进行设置
set_error_handler(function($errno, $errstr, $errfile = null, $errline = 0, $errcontext = null)
{
    // Append $errstr and other useful information to a file
    @file_put_contents('error_log', "ERROR: $errstr\n", FILE_APPEND);

    return true; // disable regular PHP error reporting
});

答案 1 :(得分:2)