【问题标题】:CodeIgniter parse errors display but not written to logCodeIgniter 解析错误显示但未写入日志
【发布时间】:2012-08-23 06:11:22
【问题描述】:

我正在尝试为我的 CodeIgniter 应用程序构建错误处理服务,并且所有内容都按预期记录,但解析错误除外。例如,

Parse error: syntax error, unexpected T_VARIABLE in /var/www/foo/web/app/controllers/foo.php

... 将在 E_ALL 下输出并由 Apache 记录。所有其他(非解析)错误都会传递给我在/core/MY_Exceptions.php 中编写的log_exception 扩展,并使用 PHP 5.2.17 和 5.3.6 (MAMP) 显示在 CI 的日志中。解析错误将显示在 Apache 的本地错误日志中,但不会显示在 CodeIgniter 的日志中——它们似乎完全错过了 CodeIgniter。

如何确保 CI 检测到解析错误?我错过了什么明显的东西吗?

【问题讨论】:

    标签: apache codeigniter logging error-handling codeigniter-2


    【解决方案1】:

    这可能会对您有所帮助:Why is codeigniter not logging error!

    如果页面由于解析错误而无法加载,那么它将 从不执行

    error_reporting(E_ALL);
    

    所以你的脚本永远不会知道输出错误。编辑你的 php.ini 文件以确保您拥有:

    error_reporting = E_ALL
    error_log = "/path/to/some/apache/writable/file"
    

    希望这会有所帮助。

    【讨论】:

    • 谢谢!这是有道理的,而且如果它从一开始就没有运行,似乎也没有办法在应用程序级别捕获错误。这是一个无赖。
    • 是的,它破坏了流程并使其难以记录。
    猜你喜欢
    • 2015-06-25
    • 2013-12-27
    • 2019-04-05
    • 2013-01-05
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    相关资源
    最近更新 更多