前提
AWSのEC2のAmazonLinux1→AmazonLinux2へのバージョンアップに伴い
phpも7.1→8.1にバージョンアップしました。
aws-sdk-phpを3.133→3.33にバージョンアップしました。
その結果、それまで動いていた以下のs3へのアクセス処理でエラーが出力されるようになりました。
尚、s3へのアクセス権限はEC2にアタッチしているIAMロールで保持しています。
require_once "/vendor/autoload.php"; $s3client = new Aws\S3\S3Client([ 'region' => 'ap-northeast-1', 'version' => 'latest', ]);
出力されたエラーメッセージ
Fatal error: Uncaught Error: Unknown named parameter $instance in app/vendor/aws/aws-sdk-php/src/Credentials/CredentialProvider.php:74 Stack trace: #0 app/vendor/aws/aws-sdk-php/src/Credentials/CredentialProvider.php(74): call_user_func_array() #1 app/vendor/aws/aws-sdk-php/src/ClientResolver.php(263): Aws\Credentials\CredentialProvider::defaultProvider() #2 app/vendor/aws/aws-sdk-php/src/AwsClient.php(158): Aws\ClientResolver->resolve() #3 app/vendor/aws/aws-sdk-php/src/S3/S3Client.php(257): Aws\AwsClient->__construct() #4 app/model/common/common.php(27): Aws\S3\S3Client->__construct() #5 {main} thrown in app/vendor/aws/aws-sdk-php/src/Credentials/CredentialProvider.php on line 74
試したこと
一時的にIAMアカウントを作成してそのアカウントにs3へのアクセス権限を付与し
そのアクセスキーを上のコードに追加したところ、正常にs3にアクセスできました。
エラーメッセージなどをインターネットで調べたのですが、情報が少なく
もし同種のエラーの解決をされた方などいらっしゃましたらアドバイス頂きたく。
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー