AWS S3 PHP致命错误:找不到类“CFCredentials”

时间:2012-11-04 02:14:11

标签: php amazon-s3 amazon-web-services

所以,我想我在这里正确地做了一切......

我下载了最新的AWS PHP SDK,然后将config-sample.inc.php复制到config.inc.php并填写密钥等。

在我的应用程序中,我require_once(“../ AWS / sdk.class.php”)并且我收到错误:

“PHP致命错误:第50行的/Applications/MAMP/htdocs/AWS/config.inc.php中找不到类'CFCredentials'”


我通过了sdk_compatibility_test.php测试,所以有人可以帮我弄清楚这里的问题是什么?

我无法弄清楚sdk.class.php如何访问CFCredentials类,因为它从不包含/要求“utilities / utilities.class.php”,但我想亚马逊的开发者已将它连接起来了怎么样。我想我只是遗漏了一些东西。

谢谢!

2 个答案:

答案 0 :(得分:2)

Install AWS with Composer Package Manager for PHP,这是一个明确的程序,通常是开箱即用的。

您也可以轻松地安装其他基于PHP的软件包。

答案 1 :(得分:1)

我最终遇到的问题是另一个框架(在本例中为Yii)有一个自动加载器拒绝允许AWS类加载器加载。 如果您像我一样在5.2中运行MAMP,那么在您拥有任何框架之前,您将无法将AWS类加载器更改为自动加载。以下的神秘代码解决了我的问题:

spl_autoload_unregister(array('YiiBase', 'autoload'));
require_once('...AWSSDKforPHP/sdk.class.php');
spl_autoload_register(array('YiiBase', 'autoload'));

您需要更改AWSSDK路径以正确指向sdk类 - 在我的情况下,我只使用了绝对路径。

通常可以通过使用spl_autoload_unregister参数将自动加载器添加到自动加载器队列来取代,但在php 5.2中这是不可用的。