Привет, я получаю эту ошибку ниже, которая вызывает у меня много проблем.Кто-нибудь когда-нибудь сталкивался с этим.
Версия PHP: 7.2.10 Версия Composer: 1.8.4 Последняя версия MAMP
Это ошибка:
Ошибка: служба "" не предоставляется AWS SDK для PHP.
Это мой код PHP ниже:
<?php
// Run:$ composer require aws/aws-sdk-php
require '..\vendor\autoload.php';
//use Aws\S3\S3Client;
use Aws\AwsClient;
use Aws\Exception\AwsException;
// AWS Info
$bucketName = 'dynamics-bucket-qa';
$IAM_KEY = 'xxxxxxxxxxxxxxxxxxxxx';
$IAM_SECRET = 'xxxxxxxxxxxxxxxxxx';
// Connect to AWS
try {
// You may need to change the region. It will say in the URL when the bucket is open
// and on creation.
$s3 = Aws\AwsClient::factory(
array(
'credentials' => array(
'key' => $IAM_KEY,
'secret' => $IAM_SECRET
),
'version' => 'latest',
'region' => 'eu-west-2'
//'ssl.certificate_authority' => '\MAMP\bin\php\php7.2.10\extras\ssl\cacert.pem'
//'scheme' => 'http'
)
);
} catch (Exception $e) {
die("Error: " . $e->getMessage());
}
// For this, I would generate a unqiue random string for the key name. But you can do whatever.
$keyName = 'testfolder/' . basename($_FILES["fileToUpload"]['name']);
$pathInS3 = 'https://s3.eu-west-2.amazonaws.com/' . $bucketName . '/inbound/' . $keyName;
// Add it to S3
try {
// Uploaded:
$file = $_FILES["fileToUpload"]['tmp_name'];
$s3->putObject(
array(
'Bucket'=>$bucketName,
'Key' => $keyName,
'SourceFile' => $file,
'StorageClass' => 'REDUCED_REDUNDANCY'
)
);
} catch (S3Exception $e) {
die('Error:' . $e->getMessage());
} catch (Exception $e) {
die('Error:' . $e->getMessage());
}
echo 'Done';
//htdocs composer -v
?>