подключи ec2 и узнай в aws - PullRequest
0 голосов
/ 02 апреля 2020

Как удалить php фатальную ошибку?

Это код AWS (ec2-os- linux) для получения изображения в Amazon Rekognition при передаче в EC2.

Это ошибка, которая возникает:

PHP Неустранимая ошибка: Uncaught TypeError: Аргумент 1, передаваемый в Aws \ Common \ Client \ AbstractClient :: __ construct (), должен быть экземпляром Aws \ Common \ Credentials \ CredentialsInterface, заданный массив, вызывается в / var / www/html/face/index.php в строке 43 и определяется в / var / www/html/face/vendor/aws/aws-sdk-php/src/Aws/Common/Client/AbstractClient.php: 73

Трассировка стека: # 0 / var / www/html/face/index.php (43): Aws \ Common \ Client \ AbstractClient-> __construct (Array) # 1 {main} добавляется в / var / www/html/face/vendor/aws/aws-sdk-php/src/Aws/Common/Client/AbstractClient.php в строке 73

Мой код:


require_once(__DIR__ . '/vendor/autoload.php');

use Aws\S3\S3Client;
use Aws\Rekognition\RekognitionClient;


$bucket = 'aws-webinar-ethnus';
$keyname = 's.jpg';

$s3 = new S3Client([
    'region'    => 'us-east-2',
    'version'   => '2006-03-01',
    'signature' => 'v4'
]);

try {
    // Upload data.
    $result = $s3->putObject([
        'Bucket'        => $bucket,
        'Key'           => $keyname,
        'SourceFile'    => __DIR__. "/$keyname",
        'ACL'           => 'public-read-write'
    ]);

    // Print the URL to the object.
    $imageUrl = $result['ObjectURL'];
    if($imageUrl) {
        echo "Image upload done... Here is the URL: " . $imageUrl;

        $rekognition = new RekognitionClient([
            'region'    => 'us-east-2',
            'version'   => 'latest',
        ]);

        $result = $rekognition->detectFaces([
            'Attributes'    => ['DEFAULT'],
            'Image' => [
                'S3Object' => [
                    'Bucket' => $bucket,
                    'Name'  =>  $keyname,
                    'Key'   =>  $keyname,
                ],
            ],
        ]);

        echo "Totally there are " . count($result["FaceDetails"]) . " faces";
    }
} catch (Exception $e) {
    echo $e->getMessage() . PHP_EOL;
}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...