Ошибка при запуске кода с использованием AWS SDK для PHP и Composer - PullRequest
0 голосов
/ 20 марта 2019

Привет, я получаю эту ошибку ниже, которая вызывает у меня много проблем.Кто-нибудь когда-нибудь сталкивался с этим.

Версия 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 

?>

...