2008-09-18 34 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