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

树莓派Raspberry Pi OS Lite下执行PHP文件的Cron Job运行失败如何解决?

解决方法

首先定位最可能的核心问题:你用crontab -e编辑的是当前用户的个人定时任务配置,不需要在命令前加root字段,只有系统级的/etc/crontab配置才需要指定执行用户,多出来的root会被当作命令的一部分解析,直接导致任务执行失败。

你可以按照以下步骤逐一排查修复:

1. 修正crontab配置

执行crontab -e删除原有两条错误配置,替换为以下内容:

* * * * * /usr/bin/php /var/www/html/bloomsky.php >> /var/log/bloomsky_cron.log 2>&1

末尾的>> /var/log/bloomsky_cron.log 2>&1会把脚本的正常输出和错误信息都写入日志文件,方便后续排查问题。

如果你需要用root权限执行该脚本,请使用sudo crontab -e编辑root用户的定时任务,同样不需要加root前缀。

2. 先验证命令行执行效果

不要仅通过网页测试脚本,直接在SSH终端执行以下命令,确认命令行下脚本可正常运行:

/usr/bin/php /var/www/html/bloomsky.php

执行后检查/var/www/html/image.jpg的时间戳是否更新:

  • 如果更新正常,继续下一步
  • 如果未更新,优先排查两个问题:
    • 脚本内使用的是相对路径:网页执行时工作目录是/var/www/html,但命令行/crontab执行时工作目录是当前用户的家目录,相对路径会找不到文件/无法写入,把脚本中所有路径改为绝对路径即可
    • 权限不足:确认当前执行命令的用户对/var/www/html目录有写入权限

3. 确认cron服务正常运行

执行以下命令查看cron服务状态:

sudo systemctl status cron

如果输出显示非active (running),执行以下命令启动并设置开机自启:

sudo systemctl enable --now cron

4. 排查日志定位问题

等待1分钟后查看之前配置的日志文件,确认具体报错:

cat /var/log/bloomsky_cron.log

根据日志中的报错信息针对性修复即可,比如缺少PHP扩展、网络连接AWS失败、路径不存在等问题都可以直接从日志中看到。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:15:00