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

Laravel 8 Cronjob在Hostinger共享主机上无法运行求助

排查Hostinger共享主机上Laravel定时任务通过Bash脚本执行失败的问题
  • 指定PHP绝对路径
    Hostinger共享主机通常存在多个PHP版本,直接使用php命令可能调用的不是项目依赖的版本。先通过SSH执行which php或查看Hostinger面板的PHP设置获取绝对路径(比如/usr/bin/php8.2或~/bin/php),然后在bash脚本中替换为绝对路径:

    #!/bin/bash
    /usr/bin/php8.2 /home/your_username/public_html/artisan schedule:run >> /dev/null 2>&1
    
  • 修正工作目录
    Cron执行时默认工作目录并非项目根目录,需在脚本中先切换到项目根目录再执行命令:

    #!/bin/bash
    cd /home/your_username/public_html
    /usr/bin/php8.2 artisan schedule:run >> /dev/null 2>&1
    
  • 添加日志输出排查错误
    将命令输出重定向到日志文件,便于查看执行报错:

    #!/bin/bash
    cd /home/your_username/public_html
    /usr/bin/php8.2 artisan schedule:run >> /home/your_username/logs/cron.log 2>&1
    

    执行后查看cron.log中的内容,通常能找到任务失败的具体原因(如环境变量读取失败、权限不足等)。

  • 检查文件权限

    • 确保artisan文件具备执行权限:执行chmod +x /home/your_username/public_html/artisan
    • 确保.env文件权限正确(避免过度开放):执行chmod 644 /home/your_username/public_html/.env
  • SSH直接验证命令
    通过SSH登录主机,切换到项目根目录,直接执行/usr/bin/php8.2 artisan schedule:run,观察是否有报错信息,这是最直接的排查方式。

内容的提问来源于stack exchange,提问作者Web Star

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 08:27:37