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

cPanel配置Laravel每日16点Cron定时任务不生效问题求助

Cron任务不触发排查解决方案

核心配置错误修正

Laravel 任务调度的运行机制要求必须配置全局每分钟执行的Cron入口,由Laravel内部判断哪些任务达到触发条件,不能直接将cPanel的Cron规则设置为和Kernel内的任务时间一致,这是你遇到问题的最核心原因。
正确的cPanel Cron配置如下:

* * * * * <服务器PHP绝对路径> /home3/urbanhq6/public_html/new/artisan schedule:run >> /dev/null 2>&1
  • 可在cPanel终端执行which php获取服务器PHP的绝对路径,替换上方<服务器PHP绝对路径>占位符
  • 你之前设置everyMinute()时任务正常运行,大概率是当时cPanel的Cron配置为每分钟执行,修改任务规则后误调整了cPanel的Cron时间

时区一致性排查

如果调整Cron配置后仍无法按预期触发,需检查两处时区配置是否匹配:

  1. Laravel项目时区:打开/home3/urbanhq6/public_html/new/config/app.php,确认timezone参数设置为你预期的时区(例:国内场景设置为Asia/Shanghai),如果为默认的UTC,对应16点会比北京时间晚8小时,自然不会在你预期的时间触发
  2. cPanel服务器时区:临时添加一条测试Cron任务* * * * * date >> /home3/urbanhq6/public_html/new/time_test.log,1分钟后查看日志输出的时间是否和你本地时间一致,不一致可调整cPanel系统时区,或调整dailyAt()的参数匹配服务器时区

任务日志排查

给调度任务添加日志输出,可快速定位问题,修改Kernel.php代码如下:

protected function schedule(Schedule $schedule)
{
    $schedule->command('reminder:email')
         ->dailyAt('16:00')
         ->appendOutputTo(storage_path('logs/reminder_email.log'));
}
  • 到预期触发时间后,查看/home3/urbanhq6/public_html/new/storage/logs/reminder_email.log
  • 有内容说明任务已触发,问题出在邮件发送等业务逻辑中
  • 无内容说明任务未触发,回到前两个步骤重新核对配置

内容的提问来源于stack exchange,提问作者zubair M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:06:03