【问题标题】:PHP 7 - Exception does not get logged in error_log. error_log not geterated at allPHP 7 - error_log 中没有记录异常。 error_log 根本没有得到处理
【发布时间】:2018-11-08 06:41:00
【问题描述】:

以下PHP代码是用PHP7运行的:

<?php

ini_set('log_errors',1);

error_reporting(0);

throw new Exception('some exception here');

?>

抛出异常,但不是'catch'-ed。

为什么没有生成“error_log”文件? error_reporting(0) 是否也抑制异常?

删除“error_reporting(0)”会按预期生成 error_log 文件。

如何仅在 error_log 中记录未捕获的异常,但使用 error_reporting(0) 抑制其他错误?

【问题讨论】:

    标签: php exception php-7 error-reporting error-log


    【解决方案1】:

    error_reporting(0) 正在关闭错误报告。您可能会将其与将它们输出到管道的 display_errors 混淆。

    请参阅http://php.net/manual/en/errorfunc.constants.php,了解可以调整日志记录工作方式的各种参数列表。

    【讨论】:

      【解决方案2】:
      error_reporting(E_ALL);
      ini_set("display_errors", 1);
      

      添加这些行并删除

      error_reporting(0);

      【讨论】:

      • display_errors 用于将它们输出到标准输出管道。如果他想要的只是输出到error_log,他应该不需要display_errors。
      猜你喜欢
      • 2017-12-31
      • 1970-01-01
      • 2014-09-28
      • 2016-01-24
      • 2016-03-16
      • 1970-01-01
      • 2015-09-14
      • 2014-06-10
      • 1970-01-01
      相关资源
      最近更新 更多