веб-сервисы Amazon — AWS PHP SDK, получающий класс, не обнаружил фатальную ошибку

Я пытаюсь читать сообщения из моего SQS, но не могу зайти так далеко, поскольку у меня возникают проблемы с установкой PHP SDK.

Я следовал инструкциям и установил через композитор.

Мой код для тестирования:

require 'vendor/autoload.php';
$sqs_credentials = array(
'region' => 'us-west-2',
'version' => 'latest',
'credentials' => array(
'key'    => '*****',
'secret' => '**********',
)
);

$sqs_client = new SqsClient($sqs_credentials);

Это просто приводит к

Class 'SqsClient' not found in /var/www/html/sqs_test.php on line 10

Затем я попытался, загрузив ZIP-файл напрямую и использовал

require 'aws/aws-autoloader.php';

Это привело к точно такой же ошибке. Что я делаю неправильно? Я совершенно уверен, что путь точен, так как я могу выводить текст напрямую в Sqs / SqsClient.php.

0

Решение

Все еще не уверен, почему вышеупомянутое не работало, но если кто-то пытается, это работает:

require 'vendor/autoload.php';
use Aws\Sqs\SqsClient;

$client = SqsClient::factory(array(
'region' => 'us-west-2',
'version' => 'latest',
'credentials' => array(
'key'    => '********',
'secret' => '********',
)
)
);

$result = $client->receiveMessage(array(
'QueueUrl' => $sqs_url
));
print_r($result);
1

Другие решения

Класс, который вы пытаетесь создать, является пространственным. Не забудьте включить use Aws\Sqs\SqsClient; утверждение перед ссылкой на класс по его короткому имени.

1

Несколько связанный, но не совсем этот вопрос. У меня не найден класс для Aws \ Sns \ MessageValidator (& Сообщение) и после некоторой борьбы выяснили, что в последнем SDK v3.17.3 для PHP их не было в \ Sns — https://github.com/aws/aws-sdk-php/tree/3.17.3/src/Sns. Я просто откатился на более раннюю версию 3x и исправил путь импорта, чтобы получить нужный нам класс. Размещение здесь, думая, что это может помочь кому-то.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector