AWS PHP SDK をインストールし、SES を使用しようとしています。~/.aws/credentials
私の問題は、私が何をしても(明らかに)読もうとしているということです。私は現在、このコードを持っています:
$S3_AK = getenv('S3_AK');
$S3_PK = getenv('S3_PK');
$profile = 'default';
$path = '/home/franco/public/site/default.ini';
$provider = CredentialProvider::ini($profile, $path);
$provider = CredentialProvider::memoize($provider);
$client = SesClient::factory(array(
'profile' => 'default',
'region' => 'us-east-1',
'version' => "2010-12-01",
'credentials' => [
'key' => $S3_AK,
'secret' => $S3_PK,
]
));
そして、まだ「〜/ .aws/credentialsから資格情報を読み取れません」というエラーが表示されます(かなり時間が経ちました)。
もちろん 'credentials' => $provider を試してみましたが、それはアイデアでしたが、機能していなかったため、ハードコードされた資格情報に戻しました。$S3_AK と $S3_PK をダンプしましたが、問題ありません。実際には S3 で正しく使用していますが、Zend のラッパーがあります。~/.aws/credentials (「.ini」なし) を試してみましたが、同じ結果になりました。両方のファイルのアクセス許可は 777 です。
興味深い情報: 例外を var_dump できるように、メモリ制限を -1 に設定する必要がありました。例外への html は約 200 MB です。
資格情報ファイルは問題ありませんが、環境変数を使用したいと思います。資格情報をハードコーディングしたにもかかわらず、ファイルを読み取ろうとしているように見える理由がわかりません。
編集:友人が私にこれを見せてくれたので、プロファイルを削除し、try/catch も変更し、クライアントが適切に作成されているように見え、実際に電子メールを送信しようとするとエラーが発生することに気付きました。