shell_exec('crontab -l') 从 cron 作业执行脚本时为空

shell_exec('crontab -l') is empty when script was executed from cron job

我正在尝试使用我的 PHP 脚本删除特定的 cron 作业。 首先,我正在尝试使用 shell_exec:

获取当前的 cron 作业
shell_exec('crontab -l');

当此脚本从网络浏览器执行时 shell_exec returns 所有当前的 cron 作业。但是当这个脚本从 cron job shell_exec returns 空字符串执行时。为什么?

在另一个虚拟主机上这工作正常,但我遇到了这个问题。我试图找到原因或解决方案,尝试了不同的方法,但没有找到任何有效的解决方案。

您必须输入命令的完整路径,在本例中为 crontab 的路径。 因为当 crontab 执行它们的作业时,没有环境变量 $PATH 来查找二进制文件