我在laravel中尝试访问队列时遇到此错误-
Class 'Aws\Sqs\SqsClient' not found
我的默认队列是“sync”,而我在composer.json中的任何地方都不需要“Sqs”。那么为什么会发生这种情况呢?在新版本的Laravel中必须包含它吗?
ztigrdn81#
首先检查.env文件中的值QUEUE_DRIVER。在您的情况下,它必须等于sync”
QUEUE_DRIVER=sync
然后检查您的Supervisor配置文件。可能您忘记更改以下行:
command=php /my/app/dir/artisan queue:work **sqs** ...
至
command=php /my/app/dir/artisan queue:work **sync** ...
如下所述:https://laravel.com/docs/5.7/queues#supervisor-configuration
svmlkihl2#
因此您需要执行此操作composer require aws/aws-sdk-php
composer require aws/aws-sdk-php
dgjrabp23#
我使用此软件包:https://github.com/aws/aws-sdk-php-laravel此包AWS组件同款作品!我推荐给你
5cg8jx4n4#
我在env文件QUEUE_DRIVER=database中有此配置,因此在我的情况下,我必须在不使用sync或sqs的情况下运行该命令
QUEUE_DRIVER=database
command=php /my/app/dir/artisan queue:work ...
4条答案
按热度按时间ztigrdn81#
首先检查.env文件中的值QUEUE_DRIVER。在您的情况下,它必须等于sync”
然后检查您的Supervisor配置文件。可能您忘记更改以下行:
至
如下所述:https://laravel.com/docs/5.7/queues#supervisor-configuration
svmlkihl2#
因此您需要执行此操作
composer require aws/aws-sdk-php
dgjrabp23#
我使用此软件包:https://github.com/aws/aws-sdk-php-laravel
此包AWS组件同款作品!
我推荐给你
5cg8jx4n4#
我在env文件
QUEUE_DRIVER=database
中有此配置,因此在我的情况下,我必须在不使用sync或sqs的情况下运行该命令