Zend 1 3d party NameSpaces 自动加载不起作用

Zend 1 3d party NameSpaces autoload don't working

我正在尝试将 Amazon WebServices PHP SDK 实施到我的 Zend 1 项目中,但它似乎无法加载 类。

我已经将库放入 library/Eplan/AmazonCloudSearch,经过调查似乎为了能够加载名称空间,我需要从 Zend_Loader_Autoloader::getInstance() 调用 registerNamespace 方法,所以我把它放在自动加载器的顶部(我也试过把它放在 bootstrap 中,但运气不好):

require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace("Aws");

AWS库的命名空间是这样的:Aws\namespace

我得到的错误是 Warning: include_once(Aws/Common/Aws.php): failed to open stream: No such file or directory in /srv/www_nfs_desarrollo/vhosts/desarrollo.techmaker.net/httpdocs/library/Zend/Loader.php on line 134

自动加载器完整代码:http://pastebin.com/gS9mcntK

我一整天都在绞尽脑汁试图解决这个问题,但没有运气,有什么想法吗?

为了使用 $autoloader->registerNamespace('Aws'),您寻找的 AWS 库必须在您的 PHP 包含路径中,该路径可能包含您的 ./library 目录。相反,您将 AWS 库埋藏在 ./library/Eplan/AmazonCloudSearch 中,这几乎可以肯定是 而不是 在您的 PHP include_path.

尝试将 AWS 库向上移动两层,直接进入 ./library 目录。

您可以使用以下代码使用 application.ini 文件自动加载。

autoloaderNamespaces[] = "Aws"