在我的ZF项目的application.ini中,我设置了“resources.frontController.params.displayExceptions = 1”。但是,如果抛出异常,则浏览器中不会显示异常。Zend Framework - displayExceptions属性不起作用
综观生成的ErrorController.php的代码,它看起来像这行:
如果($这个 - > getInvokeArg( 'displayExceptions')==真)
总是失败,这条件。
我是新来的采埃孚,所以有可能是明显的我失踪 - 但我不知道为什么它没有被设置。它似乎正在处理application.ini文件,因为如果连接不到数据库,它将无法连接到我的数据库。
编辑
就发现了线索:
我改变了我的modules目录。我刚刚撤消了这一改变,并且这个问题不再发生。但是,我确实想要更改模块目录。下面是我所作的更改的列表:
在我的application.ini,我说:
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
在我的Bootstrap类,我说:
protected function _initFrontController()
{
$front = Zend_Controller_Front::getInstance();
$front->addModuleDirectory(dirname(__FILE__) . '/modules');
$front->setDefaultModule('frontend');
return $front;
}
这似乎成功地处理该模块的新位置和网站工作正常(除了displayExceptions标志没有正确设置)。
任何想法,为什么这会导致此症状?
是什么调试器告诉你吗?或Zend_Debug ::转储()这些变量? – markus 2011-05-04 13:36:33
@markus我应该看什么变量?对不起,我是ZF的新手,所以不太确定如何以编程方式访问这些application.ini设置。我尝试抛出Zend_Controller_Front :: getInstance() - > getParams(),但没有任何有用的东西。 – Dan 2011-05-04 14:21:53
什么是您的应用程序环境?通常它应该设置为'development'以显示异常。 – Vika 2011-05-04 14:24:25