如何在Hostinger上为Laravel项目配置Cron Job?
Hostinger上Laravel Cron Job配置无效的解决办法
2023年2月3日我在Hostinger上配置Laravel定时任务时,搜遍网上的常规方案都没效果,折腾半天终于搞定了,这里把有效方案记下来,方便自己以后查,也给遇到同样问题的人参考。
之前我按照网上的教程,修改项目路径后用了这条命令,但完全没生效:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
问题出在哪?
Hostinger共享主机的环境和常规VPS不一样,主要是两个点没注意:
- 不能直接用全局的
php命令,必须指定对应PHP版本的完整路径 - 依赖
cd切换目录再执行artisan容易出问题,直接用绝对路径调用更可靠
正确的配置步骤
- 获取PHP的完整路径:登录Hostinger的文件管理器,打开终端执行
which php,或者在Hostinger面板的「PHP设置」里查看对应版本的路径,比如/usr/bin/php8.2 - 确定项目的绝对路径:一般是
/home/你的主机用户名/public_html(可以在文件管理器里查看路径栏) - 编写正确的Cron命令:把PHP路径、项目路径拼起来,示例如下:
* * * * * /usr/bin/php8.2 /home/u123456789/public_html/artisan schedule:run >> /home/u123456789/public_html/storage/logs/cron.log 2>&1
- 可选:开启日志排查:把输出定向到项目的storage日志目录,方便出问题时查看错误信息,不用直接丢去
/dev/null
验证是否生效
保存Cron Job后等1分钟,然后打开storage/logs/cron.log,如果看到类似「No scheduled commands are ready to run.」的内容,说明Cron已经正常工作了;如果有报错,根据日志提示调整路径或PHP版本就行。
内容的提问来源于stack exchange,提问作者adolphus miracle
相关产品推荐
相关产品推荐

