FrontController找不到Zend ACL类

时间:2011-10-01 14:34:49

标签: zend-framework zend-acl

我认为这是一个简单的路径问题 - 但我花了最近2个小时尝试各种组合,但无法解决这个问题。代码在我的Windows系统上运行正常但是当我将它上传到我在Linux操作系统上的托管站点时 - 它找不到ACL文件。

这是我在index.php中定义路径的方式

// Define path to application directory
defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . '/../library'),    get_include_path(),
)));

这是application.ini

中的一行
resources.frontController.plugins.acl = "Ed_Controller_Plugin_Acl"

这是bootstrap.php相关代码

protected function _initAutoload()
{
   .......
   Zend_Loader_Autoloader::getInstance()->registerNamespace('Ed_');
   .......
}

这些是我在linux系统上遇到的错误,ACL不起作用

[Sat Oct 01 14:26:44 2011] [error] [client 122.164.175.204] PHP Warning:  include_once(Ed/Controller/Plugin/Acl.php): failed to open stream: No such file or directory in /home/webadmin/dezyre.com/library/Zend/Loader.php on line 146

[Sat Oct 01 14:26:44 2011] [error] [client 122.164.175.204] PHP Warning:  include_once(): Failed opening 'Ed/Controller/Plugin/Acl.php' for inclusion (include_path='/home/webadmin/dezyre.com/application/../library:/home/webadmin/dezyre.com/library:.:/usr/share/pear:/usr/share/php') in /home/webadmin/dezyre.com/library/Zend/Loader.php on line 146

[Sat Oct 01 14:26:44 2011] [error] [client 122.164.175.204] PHP Fatal error:  Class 'Ed_Controller_Plugin_Acl' not found in /home/webadmin/dezyre.com/library/Zend/Application/Resource/Frontcontroller.php on line 117

感谢您的时间 欣赏它

1 个答案:

答案 0 :(得分:0)

请记住,* ix对文件名都是区分大小写的。因此目录必须以大写字母开头。如果他们不这样做,Windows不会抱怨 - 但Linux会。