为什么从终端运行 Crontab 时我的 PHP 脚本没有出现错误?

And*_*dré 2 cron php

我在使用 PHP 文件运行 Crontab 时遇到了一些问题。

我在 Crontab 中运行了相同的 php 脚本超过 6 个月,但几天前他们神秘地停止了正确执行代码。Crontab 工作但脚本产生错误。另一个有趣的事情是,相同的脚本在 SSH 终端中运行时没有错误。

这里应该是什么问题?有没有办法将 Crontab 配置为使用 SSH 终端的相同配置运行?

Gil*_*il' 7

脚本从命令行运行而不是从 crontab 运行的最常见原因是脚本依赖于环境变量。Crontab 只设置了几个环境变量:通常只有HOME, USER, SHELL(设置为/bin/sh)和PATH(设置为系统默认值)。如果需要更多,则必须在 crontab 文件中定义它们,或~/.profile从命令中获取。

也许您安装了两个版本的 PHP,一个是命令行中的第一个版本,一个是$PATH系统 default 中的第一个版本$PATH,并且系统默认 PHP 最近发生了变化。但是除了有根据的猜测是不可能的,因为你没有说出你得到了什么错误。