Laragon配Laravel数据库队列需确保环境就绪、QUEUE_CONNECTION=database配置正确、执行queue:table和failed-table迁移并运行migrate,最后用queue:work启动监听。

用 Laragon 配 Laravel 队列(数据库驱动)很直接,关键是环境、迁移和命令三者对齐。Laragon 本身不干预队列逻辑,它只提供本地 PHP + MySQL + Apache/Nginx 运行环境,所以配置完全遵循 Laravel 原生流程,无需额外适配。
确认 Laragon 环境已就绪
确保以下组件正常运行:
- Laragon 的 MySQL 服务已启动(托盘图标显示绿色)
- 你的 Laravel 项目已通过 Laragon 添加为站点,能正常访问首页
- PHP 版本 ≥ 8.1(Laravel 10+ 推荐),可在 Laragon → PHP → Version 中切换
- 终端使用 Laragon 自带的 Terminal(或任意终端,只要 PATH 包含 Laragon 的 PHP 和 Artisan)
设置 QUEUE_CONNECTION=database
打开项目根目录下的 .env 文件,修改这一行:
QUEUE_CONNECTION=database
⚠️ 注意:不要写成 QUEUE_CONNECTION=your_db_name 或 QUEUE_DRIVER=database(旧版写法已弃用)。Laravel 10+ 只认 QUEUE_CONNECTION,且值必须是 config/queue.php 中 connections 数组里存在的键名,比如 database。
检查 config/queue.php 是否存在默认的 database 配置(Laravel 新项目自带,一般不用改):
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
],
生成并运行队列表迁移
在项目根目录终端中依次执行:
-
php artisan queue:table—— 生成create_jobs_table迁移文件 -
php artisan queue:failed-table—— 生成create_failed_jobs_table迁移文件 -
php artisan migrate—— 执行迁移,创建jobs和failed_jobs表
✅ 验证:用 Laragon 的 PhpMyAdmin(点击托盘 → MySQL → phpMyAdmin)打开你的数据库,确认两张表已存在。
分发任务并启动 worker
在控制器或测试路由中分发一个简单任务,例如:
use App\Jobs\SendTestEmail; SendTestEmail::dispatch();
然后在终端中运行:
php artisan queue:work
你会看到类似 [2026-08-17 12:15:22] Processing: App\Jobs\SendTestEmail 的输出,说明 worker 已拉取并执行任务。
? 小提示:
- 每次代码修改后需重启
queue:work(Ctrl+C 停止,再运行) - 如想后台持续运行,可用
php artisan queue:work --daemon(不推荐开发用),或配合 Windows 的start /B启动新窗口 - 若无任何输出,先检查
.env是否拼写错误、jobs表是否存在、MySQL 用户是否有写权限



















