Laravel 选择了错误的队列连接
Laravel choses wrong queue connection
我已经开发一个系统大约 2 个月了,没有任何问题。但是,现在到了启动时间,我确实设置了一个专用服务器并开始安装所需的一切。然而,当我来到 setting up supervisor 时,事情变得很糟糕。
在我的 .env 文件中我得到了这个设置:
QUEUE_CONNECTION=database
但是,当启动 supervisor 时,我得到这个错误:
{
"class": "Error",
"message": "Class 'Aws\Sqs\SqsClient' not found",
"code": 0,
"file": "/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php:26",
"trace": [
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php:157",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php:138",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php:145",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php:116",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php:100",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/Util.php:40",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:37",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php:610",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Console/Command.php:136",
"/var/www/brevia-laravel/vendor/symfony/console/Command/Command.php:256",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Console/Command.php:121",
"/var/www/brevia-laravel/vendor/symfony/console/Application.php:971",
"/var/www/brevia-laravel/vendor/symfony/console/Application.php:290",
"/var/www/brevia-laravel/vendor/symfony/console/Application.php:166",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Console/Application.php:93",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:129",
"
我已经尝试过 cache:clear 和 config:clear,但工作人员仍然认为我想要 运行 SqsQueue 而不是数据库队列...尝试寻找周围但找不到有类似问题的人。
我 运行宁 Ubuntu 18.04 和 PHP 7.3.26
编辑
运行命令:
php artisan queue:work
有效,所以问题可能出在主管设置上...
添加到 .env
QUEUE_DRIVER=数据库
并在配置文件~/config/queue.php中添加修复构造到
[
'default' => env('QUEUE_DRIVER', 'sync'),
....
....
]
发现错误。当我启动主管时,事实证明我错误地放置了错误的标志。这迫使工作人员 运行 AWS 而不是 .env
中的设置
我已经开发一个系统大约 2 个月了,没有任何问题。但是,现在到了启动时间,我确实设置了一个专用服务器并开始安装所需的一切。然而,当我来到 setting up supervisor 时,事情变得很糟糕。
在我的 .env 文件中我得到了这个设置:
QUEUE_CONNECTION=database
但是,当启动 supervisor 时,我得到这个错误:
{
"class": "Error",
"message": "Class 'Aws\Sqs\SqsClient' not found",
"code": 0,
"file": "/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php:26",
"trace": [
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php:157",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php:138",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php:145",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php:116",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php:100",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/Util.php:40",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:37",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php:610",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Console/Command.php:136",
"/var/www/brevia-laravel/vendor/symfony/console/Command/Command.php:256",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Console/Command.php:121",
"/var/www/brevia-laravel/vendor/symfony/console/Application.php:971",
"/var/www/brevia-laravel/vendor/symfony/console/Application.php:290",
"/var/www/brevia-laravel/vendor/symfony/console/Application.php:166",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Console/Application.php:93",
"/var/www/brevia-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:129",
"
我已经尝试过 cache:clear 和 config:clear,但工作人员仍然认为我想要 运行 SqsQueue 而不是数据库队列...尝试寻找周围但找不到有类似问题的人。
我 运行宁 Ubuntu 18.04 和 PHP 7.3.26
编辑
运行命令:
php artisan queue:work
有效,所以问题可能出在主管设置上...
添加到 .env QUEUE_DRIVER=数据库
并在配置文件~/config/queue.php中添加修复构造到
[
'default' => env('QUEUE_DRIVER', 'sync'),
....
....
]
发现错误。当我启动主管时,事实证明我错误地放置了错误的标志。这迫使工作人员 运行 AWS 而不是 .env
中的设置