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

Cron定时任务配置后无法执行PHP Phar脚本问题咨询

核心错误点

配置存在两个直接导致任务全失败的问题:

  • 路径配置错误:crontab中PHAR变量指向的文件路径为/home/heimathafen/customfiles/scripts/7d2d.phar,但你手动验证可正常运行的文件实际位于/home/homeport/customfiles/scripts/7d2d.phar,两个路径的用户目录段完全不一致,cron无法在错误路径下找到目标文件。
  • 变量使用方式错误:你将「php可执行文件 + 启动参数 + phar路径」的完整命令字符串赋值给单个变量,cron解析变量时不会自动做命令分词,会把整个带空格、参数的字符串当做单个可执行文件名查找,即使路径写对也会触发“找不到命令”的报错。
修正后的配置
SHELL=/bin/bash
# 拆分变量定义,不要将命令和参数混在同一个变量中
PHP_BIN=/usr/bin/php
PHAR_PATH=/home/homeport/customfiles/scripts/7d2d.phar
# m h  dom mon dow   command
*/15 * * * * ${PHP_BIN} -f ${PHAR_PATH} maintenance
*/5 * * * * ${PHP_BIN} -f ${PHAR_PATH} monitor
#50 3,7,11,15,19,23 * * * ${SDTD} reboot
#0 * * * * ${PHP_BIN} -f ${PHAR_PATH} backup
#55 23 * * 6 ${PHP_BIN} -f ${PHAR_PATH} creategifts
* * * * * ${PHP_BIN} -f ${PHAR_PATH} gameevents 0
* * * * * ( sleep 10; ${PHP_BIN} -f ${PHAR_PATH} gameevents 1)
* * * * * ( sleep 20; ${PHP_BIN} -f ${PHAR_PATH} gameevents 2)
* * * * * ( sleep 30; ${PHP_BIN} -f ${PHAR_PATH} gameevents 3)
* * * * * ( sleep 40; ${PHP_BIN} -f ${PHAR_PATH} gameevents 4)
* * * * * ( sleep 50; ${PHP_BIN} -f ${PHAR_PATH} gameevents 5)
补充验证手段

如果修改后任务仍未正常执行,按以下步骤排查:

  • 给定时任务追加日志重定向,比如将监控任务改写为*/5 * * * * ${PHP_BIN} -f ${PHAR_PATH} monitor >> /tmp/7d2d_cron.log 2>&1,所有执行报错、输出都会写入指定日志文件,可直接定位问题。
  • 执行对应系统的cron服务状态检查命令:Debian/Ubuntu系运行systemctl status cron,RHEL/CentOS系运行systemctl status crond,确认cron服务本身处于运行状态。
  • 确认homeport用户对phar文件所在的全路径目录有遍历、读取权限,避免因目录权限不足导致无法读取文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 05:39:20