2008-09-18 36 views
4

这是我第一次使用Zend Framework的经验。我正在尝试遵循Quick Start教程。一切都按预期工作,直到我到达Error Controller and View的部分。当我浏览到一个不存在的,而不是收到错误页面我得到致命错误屏幕转储,一个页面(在所有它的荣耀):Zend Framework - ErrorHandler似乎没有按预期工作

Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Dispatcher/Standard.php:249 Stack trace: #0 /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 /home/.fantasia/bcnewman/foo.com/public/index.php(42): Zend_Controller_Front->dispatch() #2 {main} thrown in /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Dispatcher/Standard.php on line 249

我不相信这是由一个语法错误造成我的部分(复制和粘贴在教程中的示例文件的内容),我相信我有正确的应用程序目录结构:

./application 
./application/controllers 
./application/controllers/IndexController.php 
./application/controllers/ErrorHandler.php 
./application/views 
./application/views/scripts 
./application/views/scripts/index 
./application/views/scripts/index/index.phtml 
./application/views/scripts/error 
./application/views/scripts/error/error.phtml 
./application/bootstrap.php 
./public 
./public/index.php 

最后,IndexControllerindex.phtml观点确实工作。

回答

4

您有ErrorHandler.php。它应该是ErrorController.php。控制器都需要按照NameController.php的格式命名。由于您没有正确命名,调度程序无法找到它。

+0

确定的用户错误。感谢第二双眼睛。一b – 2008-09-18 18:06:49

2

假设您在ErrorController插件加载到前端控制器,请确保您的引导,你没有下面的一组:

$frontController->throwExceptions(true); 

如果设置此项,则异常将始终是抛出,不管你是否设置了错误控制器。

+0

与OP有同样的问题,这是我的问题。谢谢!忘了我把它留在那里。 – leek 2009-01-08 21:23:29