Я пытаюсь загрузить изображение в свой S3 Bucket с помощью AWS PHP SDK. Для моего экземпляра EC2 я прикрепил роль, которая разрешает PutObject и GetObject для моего S3 Bucket. Следовательно, якобы мне не нужно прикреплять учетные данные при создании S3Client. Я еще учусь.
Вот мой скрипт PHP:
<?php
require './aws/aws-autoloader.php';
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
use Aws\Credentials\Credentials;
$s3 = new Aws\S3\S3Client([
'version' => 'latest',
'region' => 'us-east-1'
]);
$filename = $_FILES['file']['name'];
try {
$result = $s3->putObject([
'Bucket' => 'bucket name',
'Key' => 'testimage1',
'Body' => $filename
]);
echo 'DONE';
} catch (Exception $e) {
echo $e;
}
Я постоянно получаю внутреннюю ошибку 500 в этой форме. Видимо ошибка возникает при создании S3Client, не знаю почему.
Дальнейшее зондирование подтверждает, что когда я пытаюсь создать экземпляр класса S3Client, выдается внутренняя ошибка 500. Я могу получить доступ к корзине S3 из интерфейса командной строки, но не могу сделать это с помощью AWS PHP SDK.
Может ли кто-нибудь посоветовать в этом? Спасибо за чтение.