PHP 7 - error_log 中没有记录异常。 error_log 根本没有得到处理
Posted
技术标签:
【中文标题】PHP 7 - error_log 中没有记录异常。 error_log 根本没有得到处理【英文标题】:PHP 7 - Exception does not get logged in error_log. error_log not geterated at all 【发布时间】: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) 抑制其他错误?
【问题讨论】:
【参考方案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。以上是关于PHP 7 - error_log 中没有记录异常。 error_log 根本没有得到处理的主要内容,如果未能解决你的问题,请参考以下文章
如果 error_log 指令只是说“error_log”,那么 PHP 错误会记录到哪里?
什么在 php 中更快:syslog、文件附加或 error_log
如何将 PHP error_log 错误消息记录到 Apache 服务器 error_log?