You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 6中schedule:list等命令不存在及调度不自动执行问题

Laravel 6 调度命令报错及自动执行问题解决方案

1. "schedule:work" / "schedule:list" 命令不存在的问题

Laravel 6 原生未提供schedule:work和schedule:list两个Artisan命令,这两个命令是Laravel 8.0及以上版本才新增的内置功能,低版本运行时报错属于正常现象,不是代码或环境故障。

2. 任务调度无法自动执行的问题

php artisan schedule:run本身是单次触发命令,仅会执行当前时间符合调度规则的任务,没有常驻后台轮询的能力。要实现自动触发,需要配置系统定时任务周期性调用该命令:

Linux/macOS 环境配置

  • 执行crontab -e编辑当前用户的定时任务列表
  • 新增如下规则,将/path-to-your-project替换为项目根目录的绝对路径:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
  • 保存退出后定时规则自动生效,该规则会每分钟调用一次schedule:run,自动匹配触发符合规则的任务。

Windows 环境配置

打开系统「任务计划程序」,新建任务:

  • 触发器设置为每分钟执行一次,持续时间选择「无限期」
  • 操作设置为「启动程序」,程序选择本地php.exe的绝对路径,参数填写artisan schedule:run,起始位置填写项目根目录的绝对路径
  • 保存后任务即可生效

可选:Laravel 6 实现高版本调度命令的替代方案

如果需要使用schedule:list查看任务列表、schedule:work在开发环境常驻运行,可以使用以下替代方案:

  • 查看调度列表:安装适配Laravel 6的第三方扩展hmazter/laravel-schedule-list,安装命令:
    composer require hmazter/laravel-schedule-list "^1.2"
    安装完成后执行php artisan schedule:list即可查看所有已定义的调度任务。
  • 开发环境模拟常驻运行:在项目根目录执行以下shell命令即可实现每分钟轮询执行调度,和高版本schedule:work效果一致:
    while true; do php artisan schedule:run; sleep 60; done

内容的提问来源于stack exchange,提问作者Kowshik Sarker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:09:03