【问题标题】:logs php error but not display it in browser记录php错误但不在浏览器中显示
【发布时间】:2013-04-24 06:29:32
【问题描述】:

我想创建错误日志,但不想在浏览器中显示。

当前,当发生错误或警告/通知时,会创建日志并将错误显示给浏览器,但我想强制系统不在浏览器中向站点访问者显示错误消息,而是为我创建日志.

谢谢

【问题讨论】:

标签: php error-handling


【解决方案1】:

确保您的 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(),但仍然无法在浏览器上显示错误时记录错误。我也无法将错误记录到其他自定义文件
【解决方案2】:

将此添加到脚本的顶部:

//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);

【讨论】:

    【解决方案3】:

    可以试试

    error_reporting(E_ERROR | E_PARSE);
    

    【讨论】:

      【解决方案4】:

      如果你想记录自定义错误:

      try {
          // your code here
      } catch (Exception $e){
          error_log($e->getMessage(), $e->getCode(), $e->getFile().' Line '.$e->getLine());
      }
      

      否则使用user4035 way

      【讨论】:

        猜你喜欢
        • 2013-01-02
        • 2020-05-08
        • 2016-03-23
        • 2011-06-30
        • 1970-01-01
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多