0

我的应用程序无法定位 Zend 库。我将 ZendFramework 放在一个单独的文件夹中(除了 public_html),所以我使用自动加载器调用 Zend 类,如下所示:

$libreria='/home/conaprel/ZendFramework/library/';
set_include_path(get_include_path().PATH_SEPARATOR.$libreria);
require_once('Zend/Loader/Autoloader.php');
Zend_Loader_Autoloader::getInstance();

该站点的文件夹结构如第一行代码所示。这是我在需要 Zend 类可用时包含的文件。当我在本地服务器上运行它时它运行良好,但现在它给了我错误:

Warning: include_once() [function.include-once]: Unable to access Zend/Service  /Recaptcha.php in /home/conaprel/ZendFramework/library/Zend/Loader.php on line 146

Warning: include_once(Zend/Service/Recaptcha.php) [function.include-once]: failed to open stream: No such file or directory in /home/conaprel/ZendFramework/library/Zend/Loader.php on line 146

Warning: include_once() [function.include]: Failed opening 'Zend/Service/Recaptcha.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php:/home/conaprel/ZendFramework/library') in /home/conaprel/ZendFramework/library/Zend/Loader.php on line 146

我能做些什么?我已经检查了 Recaptcha.php 是否在 Services 文件夹中,并且在那里。

4

1 回答 1

1

这看起来像是区分大小写的问题。正确的文件名是Zend/Service/ReCaptcha.php(注意大写的“C”),但您收到的错误表明它正在尝试包含Zend/Service/Recaptcha.php(小写的“C”)。我猜您在本地使用不区分大小写的文件系统,在生产中使用区分大小写的文件系统。

只需更正您尝试实例化的类的情况,它应该可以工作:

$captacha = new Zend_Service_ReCaptcha();
于 2013-08-24T23:00:12.860 回答