Я пытаюсь загрузить изображения в корзину s3 через экземпляр ec2. Но изображения не загружаются на s3. Я мог бы убедиться, что они загружаются в экземпляр ec2. Существует некоторая проблема при загрузке на s3. Я понял, что функция загрузки не работает, но я не уверен. Я пытаюсь решить эту проблему с двух дней. Любая помощь будет принята с благодарностью.
EC2 - это Linux-машина. на нем установлены cURL и PHP-cURL. Изображения сохраняются в папке «Загрузка». Amazon SDK устанавливаются путем распаковки.
<?php
//use Aws\S3\ObjectUploader;
use Aws\S3\MultipartUploader;
use Aws\Common\Exception\S3Exception;
use Aws\S3\S3Client;
use Aws\Exception\MultipartUploadException;
require 'aws-autoloader.php';
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo "1";
$s3_client = new S3Client([
'profile' => 'default',
'version' => 'latest',
'region' => 'ap‐southeast‐2']);
echo "2";
$bucketName = 'ramyaassignment1b';
$key ='a.jpg';
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
echo "3";
//$uploadfile= dirname(__FILE__).'uploads/a.jpg';
$uploader = new MultipartUploader( $s3_client, $uploadfile, ['bucket'=>$bucketName, 'key'=>basename($_FILES['userfile']['name'])]);
//$uploader = new ObjectUploader($s3_client,$bucketName,$key,$uploadfile);
echo "4";
try {
$uploader->upload();
echo "5";
//echo "Upload complete: {$result['ObjectURL']}\n";
} catch (MultipartUploadException $e) {
echo $e->getMessage() . "\n";
echo "6";
}
} else {
echo "Upload failed";
}
?>
Я не вижу ошибок. И никакие файлы не загружаются. Я мог видеть, что номер 4 печатается, но после этого 5 или 6 не печатается.