3

だから、私はここですべてを正しくやっていると思います...

最新の AWS PHP SDK をダウンロードしてから、config-sample.inc.php を config.inc.php にコピーし、キーなどを入力します。

私のアプリケーションでは、require_once("../AWS/sdk.class.php") を実行するとエラーが発生します。

「PHP 致命的なエラー: クラス 'CFCredentials' が /Applications/MAMP/htdocs/AWS/config.inc.php の 50 行目に見つかりませんでした」


私は sdk_compatibility_test.php テストに合格したので、ここで何が問題なのかを理解するのを手伝ってもらえますか?

「utilities/utilities.class.php」が含まれている/必要とされないため、sdk.class.php が CFCredentials クラスにアクセスする方法を理解できませんが、Amazon の開発者が何らかの方法でリンクしていると思います。何かが足りないと思います。

ありがとう!

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'));

SDKクラスを正しく指すようにAWSSDKパスを変更する必要があります-私の場合、絶対パスを使用しました。

これは通常、spl_autoload_unregister パラメータを使用してオートローダーをオートローダー キューに追加することで置き換えられますが、php 5.2 ではこれが利用できません。

于 2013-03-07T19:36:19.987 に答える