3

所以,我认为我在这里做的一切都是正确的......

我下载了最新的 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”,但我想亚马逊的开发人员已经把它联系起来了。我想我只是错过了一些东西。

谢谢!

4

2 回答 2

2

使用 Composer Package Manager for PHP 安装 AWS,这是一个清晰的过程,通常开箱即用。

您还将获得轻松安装其他基于 PHP 的软件包的好处。

于 2013-03-10T12:51:12.640 回答
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 中这是不可用的。

于 2013-03-07T19:36:19.987 回答