Windows Server环境下Laravel的queue:listen与queue:work命令无法运行如何解决?
Laravel 队列命令运行失败解决方案
- 检查队列驱动配置
打开项目根目录.env文件,确认QUEUE_CONNECTION参数配置正确:若配置为sync属于同步执行模式,queue:listen/queue:work命令不会后台运行,需要修改为对应持久化驱动,例如数据库驱动配置为QUEUE_CONNECTION=database,Redis驱动配置为QUEUE_CONNECTION=redis。 - 检查对应驱动前置依赖
- 若使用database驱动:需先执行队列表生成命令再迁移数据表:
php artisan queue:table php artisan migrate - 若使用redis驱动:需提前安装predis依赖包:
composer require predis/predis
- 若使用database驱动:需先执行队列表生成命令再迁移数据表:
- 清理配置缓存
配置修改后需清除缓存才会生效,执行以下命令:php artisan config:clear php artisan cache:clear - 检查目录权限
确保storage、bootstrap/cache目录对队列运行的用户有读写权限,可执行命令赋权:sudo chmod -R 775 storage bootstrap/cache - 查看详细错误信息
执行队列命令时添加-vvv参数输出完整报错,方便定位具体问题:php artisan queue:work -vvv
问题参考截图

内容的提问来源于stack exchange,提问作者Play Free
相关产品推荐
相关产品推荐

