1

我认为这是一个简单的路径问题 - 但我花了过去 2 个小时尝试各种组合,但无法解决这个问题。该代码在我的 Windows 系统上运行良好,但是当我将其上传到我在 linux OS 上的托管站点时 - 它找不到 ACL 文件。

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

// 定义应用程序目录的路径
定义('APPLICATION_PATH')|| 定义('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// 确保 library/ 在 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相关代码

受保护的函数 _initAutoload()
{
   …………
   Zend_Loader_Autoloader::getInstance()->registerNamespace('Ed_');
   …………
}

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

[2011 年 10 月 1 日星期六 14:26:44] [错误] [客户端 122.164.175.204] PHP 警告:include_once(Ed/Controller/Plugin/Acl.php):无法打开流:/home/ 中没有这样的文件或目录webadmin/dezyre.com/library/Zend/Loader.php 第 146 行

[2011 年 10 月 1 日星期六 14:26:44] [错误] [客户端 122.164.175.204] PHP 警告:include_once():无法打开“Ed/Controller/Plugin/Acl.php”以包含(include_path='/home/webadmin /dezyre.com/application/../library:/home/webadmin/dezyre.com/library:.:/usr/share/pear:/usr/share/php') 在 /home/webadmin/dezyre.com/ library/Zend/Loader.php 在第 146 行

[2011 年 10 月 1 日星期六 14:26:44] [错误] [客户端 122.164.175.204] PHP 致命错误:在 /home/webadmin/dezyre.com/library/Zend/Application/Resource/Frontcontroller 中找不到类“Ed_Controller_Plugin_Acl”。第 117 行的 php

感谢您的宝贵时间

4

1 回答 1

0

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

于 2011-10-08T10:35:10.373 回答