gpt4 book ai didi

php - Zend 框架 - "Invalid controller specified"

转载 作者:可可西里 更新时间:2023-11-01 12:54:36 26 4
gpt4 key购买 nike

我在实时服务器上设置 Zend Framework 应用程序时遇到问题。它在本地主机上工作正常。

我拥有应用程序的实时服务器地址是:

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”(一个常见的复制+粘贴陷阱)

编辑: Controller 名称应该是 Admin_IndexController,而不仅仅是 IndexController

关于php - Zend 框架 - "Invalid controller specified",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9051993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com