代码之家  ›  专栏  ›  技术社区  ›  Ariod

Zend Framework-并非显示所有错误

  •  2
  • Ariod  · 技术社区  · 14 年前

    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    Logger::log('test');
    

    Logger类的定义如下:

    class Logger {
        public static function log() {
            echo "test";
    }
    

    我故意忘记函数的右大括号来演示问题。调用操作时,屏幕上绝对不会呈现任何内容。这是什么类型的错误,为什么不显示,即使我将PHP配置为显示所有错误,如上所示?

    当然,如果我加上缺少的括号,一切都好。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Gordon Haim Evgi    14 年前

    您还必须启用 display_startup_errors 显示致命错误:

    即使在 display_errors 打开时,不会显示PHP启动序列期间发生的错误。强烈建议 显示启动错误

    另见注释 :

    尽管 可以在运行时设置(使用 ini_set() ),如果脚本有致命错误,则不会有任何影响。这是因为所需的运行时操作无法执行。

    您可以在Zend Framework的application.ini中设置这两个值。旁注:如果你 error_reporting(-1) 它会报告的!显示)所有错误,包括 E_STRICT 以及任何未来的补充。

        2
  •  2
  •   Pimgd    13 年前

    我有完全相同的问题-我没有设法完全解决它,但我发现所有的错误都正确地记录到一个文件中,即使它们没有显示出来。

    php_value       log_errors                      On
    php_value       error_log                       "/path_to_logs/errors.log"