php – Zend Framework – “指定的控制器无效”
发布时间:2020-12-13 17:58:57 所属栏目:PHP教程 来源:网络整理
导读:我在实时服务器上设置Zend Framework应用程序时遇到问题.它可以在localhost上正常工作. 我有应用程序的实时服务器地址是: http://www.domainname.com/new/ 一切正常,直到我尝试访问URL http://www.domainname.com/new/admin的管理模块,然后我收到以下错误.
我在实时服务器上设置Zend Framework应用程序时遇到问题.它可以在localhost上正常工作.
我有应用程序的实时服务器地址是: http://www.domainname.com/new/ 一切正常,直到我尝试访问URL http://www.domainname.com/new/admin的管理模块,然后我收到以下错误. 有任何想法吗? An error occurred Page not found Exception information: Message: Invalid controller specified (index) Stack trace: #0 /data/www/www.domainname.com/public_html/new/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http),Object(Zend_Controller_Response_Http)) #1 /data/www/www.domainname.com/public_html/new/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() #2 /data/www/www.domainname.com/public_html/new/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() #3 /data/www/www.domainname.com/public_html/new/index.php(27): Zend_Application->run() #4 {main} Request Parameters: array ( 'module' => 'admin','controller' => 'index','action' => 'index',) index.php中的包含路径设置正确(库和其他所有内容都已加载),index.php文件在这里: // Define path to application directory defined('APPLICATION_PATH') || define('APPLICATION_PATH',realpath(dirname(__FILE__) . '/application')); // Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV',(getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); set_include_path('library'); // Define upload path if (!defined('UPLOAD_PATH')) define('UPLOAD_PATH',realpath(dirname(__FILE__)) . '/upload/'); /** Zend_Application */ require_once 'Zend/Application.php'; // Create application,bootstrap,and run $application = new Zend_Application( APPLICATION_ENV,APPLICATION_PATH . '/configs/application.ini' ); $application->bootstrap() ->run(); Bootstrap.php文件: class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initDoctype(){ $this->bootstrap('view'); $view = $this->getResource('view'); $view->doctype('XHTML1_STRICT'); } protected function _initTimeZone(){ $date = $this->getOption('date'); date_default_timezone_set($date['timezone']); } protected function _initLayoutHelper(){ $this->bootstrap('frontController'); Zend_Controller_Action_HelperBroker::addHelper( new Jakub_Controller_Action_Helper_LayoutLoader()); } protected function _initFlashMessenger(){ $flashMessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger'); if ($flashMessenger->hasMessages()) { $view = $this->getResource('view'); $view->messages = $flashMessenger->getMessages(); } } protected function _initAuth(){ $this->bootstrap('session'); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $view = $this->getResource('view'); $view->user = $auth->getIdentity(); } return $auth; } } Application.ini文件: [production] webhost = "http://www.domainname.com/new" phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1 includePaths.library = APPLICATION_PATH "/../library" date.timezone = "Europe/Bratislava" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" autoloadernamespaces.nette = "Nette_" autoloadernamespaces.jakub = "Jakub_" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" resources.view[] = resources.view.helperPath.App_View_Helper = APPLICATION_PATH "/views/helpers" resources.modules[] = resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/default/" resources.layout.layout = default admin.resources.layout.layoutPath = APPLICATION_PATH "/modules/admin/layouts/scripts/base/" admin.resources.layout.layout = default [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] webhost = "http://domainname" phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1
在您的管理模块文件夹中,检查IndexController.php是否存在于“controllers”子目录中.
如果是,则打开IndexController.php并确保类声明确实声明了类“IndexController”(一个常见的复制粘贴陷阱) 编辑:控制器名称应为Admin_IndexController,而不仅仅是IndexController (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |