我认为这是一个简单的路径问题 - 但我花了最近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
感谢您的时间 欣赏它
答案 0 :(得分:0)
请记住,* ix对文件名都是区分大小写的。因此目录必须以大写字母开头。如果他们不这样做,Windows不会抱怨 - 但Linux会。