我在使用 PHP 文件运行 Crontab 时遇到了一些问题。
我在 Crontab 中运行了相同的 php 脚本超过 6 个月,但几天前他们神秘地停止了正确执行代码。Crontab 工作但脚本产生错误。另一个有趣的事情是,相同的脚本在 SSH 终端中运行时没有错误。
这里应该是什么问题?有没有办法将 Crontab 配置为使用 SSH 终端的相同配置运行?
脚本从命令行运行而不是从 crontab 运行的最常见原因是脚本依赖于环境变量。Crontab 只设置了几个环境变量:通常只有HOME
, USER
, SHELL
(设置为/bin/sh
)和PATH
(设置为系统默认值)。如果需要更多,则必须在 crontab 文件中定义它们,或~/.profile
从命令中获取。
也许您安装了两个版本的 PHP,一个是命令行中的第一个版本,一个是$PATH
系统 default 中的第一个版本$PATH
,并且系统默认 PHP 最近发生了变化。但是除了有根据的猜测是不可能的,因为你没有说出你得到了什么错误。