1

服务器设置:

CentOS 6.2 64 位 Ngingx 1.2.1 PHP 5.3 + PHP FPM

我通过 PEAR 将 SDK 安装为一个包。我设置了 config.inc.php。我包括 sdkrequire_once 'AWSSDKforPHP/sdk.class.php';

我还设置了我的 DynamoDB 并有一个包含一些示例项目的表。

如果我执行类似的操作,$dynamodb = new AmazonDynamoDB();我会在浏览器中收到以下错误:

Fatal error: Uncaught exception 'STS_Exception' with message 'Temporary credentials from the AWS Security Token Service could not be retrieved using the provided long term credentials. It's possible that the provided long term credentials were invalid.' in /usr/share/pear/AWSSDKforPHP/sdk.class.php:763 Stack trace: #0 [internal function]: CFRuntime->cache_sts_credentials(Object(CacheFile), Array) #1 /usr/share/pear/AWSSDKforPHP/lib/cachecore/cachecore.class.php(136): call_user_func_array(Array, Array) #2 /usr/share/pear/AWSSDKforPHP/services/dynamodb.class.php(287): CacheCore->response_manager(Array, Array) #3 /var/www/picobama.com/public/canvas.php(14): AmazonDynamoDB->__construct(Array) #4 {main} thrown in /usr/share/pear/AWSSDKforPHP/sdk.class.php on line 763

但是,如果我启动 S3 或 EC2 类,则没有错误。

我什至创建了一个新的密钥/秘密组合以在我的 config.inc.php 中使用,我认为默认的可能有问题,但没有奏效。

我是 SDK 的新手,我不知道还能尝试什么,非常感谢任何帮助。

4

1 回答 1

0

显然,我的服务器时间和亚马逊服务器时间之间存在差异,导致出现身份验证错误。

通过安装/配置 NTP(网络时间协议)轻松修复。

有关 CentOS 中的说明,请参阅下面的 url:
http ://www.cyberciti.biz/faq/howto-install-ntp-to-synchronize-server-clock/

于 2012-06-27T22:23:48.697 回答