1

サーバーのセットアップ:

CentOS 6.2 64 ビット Ngingx 1.2.1 PHP 5.3 + PHP FPM

PEAR を介して SDK をパッケージとしてインストールしました。config.inc.php をセットアップします。SDKを含めていますrequire_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

私のサーバーの時刻とAmazonのサーバーの時刻にずれがあり、認証エラーが発生したようです。

NTP (Network Time Protocol) をインストール/構成することで簡単に修正できます。

CentOS での手順については、次の URL を参照してください:
http://www.cyberciti.biz/faq/howto-install-ntp-to-synchronize-server-clock/

于 2012-06-27T22:23:48.697 に答える