Laragon中配置Laravel队列需用替代方案模拟Supervisor行为:启用Redis驱动、清除配置缓存、用任务计划程序(推荐)/命令行后台/WSL2+Supervisor启动worker,并必设--memory、--timeout等参数防卡死,最后通过测试任务和日志验证。

Laragon 是 Windows 下轻量高效的本地开发环境,支持快速搭建 Laravel 项目。它默认集成 Apache、Nginx、MySQL、Redis 和 PHP,但 不自带 Supervisor,而 Laravel 队列 worker 在生产或类生产场景中必须由进程管理器长期守护——因此在 Laragon 中配队列,核心是“用替代方案模拟 Supervisor 行为”,同时确保驱动可用、配置正确、worker 可持续运行。
确认队列驱动并启用 Redis(推荐)
Laragon 自带 Redis 服务(默认端口 6379),这是 Laravel 队列最稳妥的选择:
- 检查
.env是否启用 Redis 驱动:QUEUE_CONNECTION=redis - 确认
REDIS_HOST=127.0.0.1、REDIS_PORT=6379(Laragon 默认未设密码,不要写REDIS_PASSWORD=空值,删掉该行更安全) - 运行
php artisan config:clear清除配置缓存,避免旧配置干扰 - 执行
php artisan queue:work --dry-run测试连接是否成功(不真正消费,只校验配置)
启动 Worker 的三种可行方式(无 Supervisor)
因 Laragon 不含 Supervisor,需用以下任一方式启动并维持 worker 进程:
-
方式一:Windows 任务计划程序 + --once 模式(推荐)
创建一个每 30 秒运行一次的计划任务,执行:php C:\laragon\www\your-project\artisan queue:work --once --memory=128 --timeout=60
优点:自动重启、内存可控、不占前台终端;缺点:有极短空窗期(但对开发/测试完全可接受) -
方式二:命令行后台启动(适合调试)
在 Laragon 终端中运行:start /min cmd /c "php artisan queue:work --sleep=3 --tries=3"
会新开最小化窗口持续运行;关闭窗口即终止,适合临时验证逻辑 -
方式三:使用 WSL2 + Supervisor(进阶)
若已启用 WSL2,可在 Ubuntu 子系统中安装 Supervisor 并配置,通过php.exe调用 Windows 下的 PHP 执行 artisan 命令,实现完整守护。适用于需要长期稳定运行的本地模拟生产环境
关键参数别漏设(防卡死 & 内存溢出)
无论用哪种启动方式,务必加上这些基础参数:
Laravel Cloud(cloud.laravel.com)。此技能用于处理所有 Laravel Cloud 请求,包括搜索和读取数据。只要任务涉及 Laravel Cloud,即使用此技能。
-
--memory=128:超 128MB 自动退出,防止内存缓慢增长 -
--timeout=60:单任务最长运行 60 秒,避免异常阻塞 -
--sleep=3:空闲时休眠 3 秒,降低 CPU 占用 -
--tries=3:失败任务最多重试 3 次,防无限循环
例如完整命令:php artisan queue:work --queue=default --memory=128 --timeout=60 --sleep=3 --tries=3
验证与日志查看
启动后做两件事确认是否生效:
- 发一个测试任务:
dispatch(new App\Jobs\TestJob());,观察是否被立即处理 - 查看日志:
storage/logs/laravel.log中搜索Processing或Processed,也可加--verbose参数临时输出到控制台 - 用 Redis Desktop Manager 连接
127.0.0.1:6379,看queues:default列表是否有数据进出










