【发布时间】:2016-01-06 23:11:44
【问题描述】:
我正在尝试使用我的 PHP 脚本删除特定的 cron 作业。 首先,我正在尝试使用 shell_exec 获取当前的 cron 作业:
shell_exec('crontab -l');
当此脚本从 webbrowser shell_exec 执行时返回所有当前的 cron 作业。但是当这个脚本从 cron 作业 shell_exec 执行时返回空字符串。为什么?
在另一个虚拟主机上这工作正常,但在这里我遇到了这个问题。我试图找到原因或解决方案,尝试了不同的方法,但没有找到任何可行的解决方案。
【问题讨论】:
-
每个用户都有自己的 cronjobs。
-
要详细说明 Dagon 所说的内容,您可以使用
crontab -u www-data -l例如查看www-data用户的 cron 列表。可能在一台服务器上工作,因为您的 cron 以与您的 Web 服务器相同的用户身份运行。 -
龙,杰里米哈里斯,感谢您的帮助。我找到了原因。 cron 在有限的环境下运行。就我而言,我只需要使用完整路径:
shell_exec('/bin/crontab -l')instaed ofshell_exec('crontab -l')