PHP Exec Crontab没有做任何事情

时间:2012-07-22 14:51:13

标签: php exec crontab shell-exec

我正在尝试使用PHP脚本设置cron作业。这在我运行XAMPP的计算机上工作正常但是当我在我的网络主机(Just Host)上尝试它时,它不会将它添加到cron作业列表中。这是PHP代码:

exec('crontab cronfile.txt');

cronfile.txt内容:

* * * * * /usr/bin/php -q /home/-username-/public_html/cron/cron.php 1

但是,当我通过cPanel添加它时,这确实有效,我可以使用shell_exec('crontab -l')查看任何cron作业。有任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

Apache最有可能以与username不同的用户身份运行,因此它不会更新username的crontab文件。运行脚本

<?php phpinfo()

并验证Apache正在运行的用户。

在我的系统上,我看到以下内容

User/Group  apache(48)/48

答案 1 :(得分:0)

您应该使用此exec('crontab /tmp/cronfile.txt')
它会起作用。 您可以将每个脚本添加到此文件中 例如:

touch /tmp/cronfile.txt
vi /tmp/cronfile.txt
* * * * * path-to-script
* * * * * path-to-script2 
.
.
finally
crontab /tmp/cronfile.txt
crontab -l you will see your cron list