Zend Framework中未显示错误

时间:2012-12-09 18:13:33

标签: php zend-framework apache2

我的设置:

PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli) (built: Sep 12 2012 18:59:41) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans

Zend Framework 1.11.1
PHP 5.3.4
php.ini:
   error_reporting E_ALL | E_STRICT
    display_errors On
    display_startup_errors On

我还启用了错误记录到文件(文件为空),
并打开xdebug.scream

但是在某些情况下,错误没有显示,我得到空页(例如,某些类中的解析错误(缺少分号)或使用不存在的接口)。

看起来我和这个旧问题的问题非常相似:http://framework.zend.com/issues/browse/ZF-2463

在这种情况下,调试器不会启动,很难猜出错误实际发生的位置 设置自定义错误处理程序也没有帮助,并且更改自动加载器的设置以抑制未找到的warrings。

如何强制ZF始终显示错误消息?

编辑:

application.ini设置也已正确设置

2 个答案:

答案 0 :(得分:0)

你应该添加:

define('APPLICATION_ENV', 'development');
index.php中的

,相反的是:

define('APPLICATION_ENV', 'production');

然后在application.ini中:

[production : bootstrap]

phpSettings.display_startup_errors = 0
phpSettings.display_errors         = 0
settings.debug.enabled             = false

[qa : production]

phpSettings.display_startup_errors = 0
phpSettings.display_errors         = 0
settings.debug.enabled             = false

[preqa : qa]

phpSettings.display_startup_errors = 0
phpSettings.display_errors         = 0
settings.debug.enabled             = false

[testing : preqa]

phpSettings.display_startup_errors = 1
phpSettings.display_errors         = 1
settings.debug.enabled             = false

[development : testing]

phpSettings.display_startup_errors = 1
phpSettings.display_errors         = 1
settings.debug.enabled             = true

或类似的东西。

答案 1 :(得分:0)

还有application.ini

phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

这些将覆盖您在php.ini或index.php中设置的任何内容。