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

如何使用cPanel在托管服务器中添加Laravel Cronjob

如何在cPanel托管服务器中添加Laravel Cronjob

嘿,我来一步步带你搞定在cPanel托管服务器上添加Laravel定时任务的事儿,其实没那么复杂,跟着下面的步骤来就行~

核心前提

Laravel的所有定时任务都是通过php artisan schedule:run这个命令触发的,官方要求每分钟运行一次这个命令,这样Laravel的调度器才能按时执行你定义的各种任务。

具体操作步骤

  • 登录你的cPanel面板:找到托管商提供的cPanel登录链接,输入账号密码进入后台。
  • 找到Cron Jobs工具:在cPanel的「高级」或「高级工具」分类下(不同托管商布局略有差异,但工具名称肯定是Cron Jobs),点击进入。
  • 设置执行频率:在「添加新的Cron任务」区域,选择「通用设置」里的「每分钟」,或者手动在分、时、日、月、周的输入框里都填*(也就是* * * * *,代表每分钟执行一次)。
  • 编写执行命令:这里要注意必须使用完整路径,不能直接写php artisan schedule:run,否则cPanel找不到文件。
    1. 先获取PHP的完整路径:可以在cPanel的「选择PHP版本」页面查看,或者通过终端执行which php命令获取,比如常见的路径是/usr/local/bin/php或/opt/cpanel/ea-php82/bin/php(根据你的PHP版本调整)。
    2. 再获取Laravel项目中artisan文件的完整路径:比如你的项目放在public_html/my-laravel-project下,那路径就是/home/你的cPanel用户名/public_html/my-laravel-project/artisan。
    3. 把两者拼接起来,再加上日志处理(可选),最终命令类似:
      /usr/local/bin/php /home/your-cpanel-username/public_html/my-laravel-project/artisan schedule:run >> /dev/null 2>&1
      
      👉 解释一下:>> /dev/null 2>&1是用来屏蔽命令输出,避免每次执行都收到邮件通知;如果想记录日志,可以改成:
      /usr/local/bin/php /home/your-cpanel-username/public_html/my-laravel-project/artisan schedule:run >> /home/your-cpanel-username/public_html/my-laravel-project/storage/logs/cron.log 2>&1
      
  • 保存任务:填写完所有内容后,点击「添加新的Cron任务」按钮,你的Laravel Cronjob就设置好了。

关键注意事项

  • 路径一定要准确:如果任务没生效,先检查PHP路径和artisan文件路径是否正确,可以通过cPanel的文件管理器查看完整路径。
  • 测试任务:可以在App\Console\Kernel.php里添加一个简单的测试任务,比如写入日志:
    protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            \Log::info('Cron任务执行成功!');
        })->everyMinute();
    }
    
    等待一分钟后,查看storage/logs/laravel.log,如果有这条日志,说明Cron运行正常。
  • 邮件通知设置:如果不想收到Cron执行的邮件,可以在Cron Jobs页面的「Cron邮件」区域设置一个邮箱,或者用上面的命令屏蔽输出。

内容的提问来源于stack exchange,提问作者Theodory Faustine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:22:01