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

Cron Jobs完全不运行但手动执行功能正常的问题求助

问题排查方案

1. 优先排查相对路径问题(90%以上此类问题的诱因)

Web访问时PHP的工作目录是/home1/website/public_html/,所以require("../backend/backend.php")的相对路径可以正常解析。但cron执行时默认工作目录是运行用户的家目录,相对路径找不到对应文件,会直接触发致命错误终止脚本。
解决方案二选一:

  • 修改PHP代码中的引用为绝对路径:
    require("/home1/website/backend/backend.php");
    
  • 修改cron命令,先切换到对应目录再执行脚本:
    *   *   *   *   *   cd /home1/website/public_html && /usr/local/bin/php -q test.php
    

2. 验证PHP CLI路径有效性

直接通过SSH登录服务器,手动执行你当前配置的cron命令:

/usr/local/bin/php -q /home1/website/public_html/test.php

如果执行后无效果或者提示找不到PHP,执行which php获取服务器上正确的PHP CLI路径,替换cron配置中的路径即可。

3. 新增日志输出定位具体问题

修改cron配置,把脚本运行的输出和错误都写入日志文件,方便直接查错:

*   *   *   *   *   /usr/local/bin/php -q /home1/website/public_html/test.php >> /home1/website/cron_debug.log 2>&1

等待1分钟后查看cron_debug.log的内容,即可直接看到脚本运行时的具体报错信息。

4. 校验文件权限

确保test.php、backend.php两个文件的权限不低于644,两个文件所在的目录权限不低于755,避免cron运行用户无读取权限导致脚本无法执行。

额外注意

你提供的代码片段中,仅定义了$id变量,但调用sendChannelMessage时传入的是未定义的$channelid,如果不是你贴代码时的笔误,也需要修正变量名。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:24:03