2012-07-22 54 views
1

我想使用PHP脚本来设置一个cron作业。这在我运行XAMPP的计算机上工作正常,但是当我在我的Web主机(Just Host)上尝试它时,它不会将其添加到cron作业列表中。这里是PHP代码:PHP执行Crontab没有做任何事

exec('crontab cronfile.txt'); 

cronfile.txt内容:

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

这不但是在工作的时候添加它通过cPanel和我可以用了shell_exec('的crontab -l查看任何cron作业“)。任何想法如何解决这个问题?

+0

我建议通过的cPanel添加cronjobs,不波谷PHP。如果您需要从PHP应用程序添加您自己的计划任务,请每隔5分钟设置一次cronjob以检查它是否有任何要执行的操作。 – Lauri 2012-07-22 15:20:12

回答

1

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

<?php phpinfo() 

并验证Apache正在运行哪个用户。

在我的系统,我看到下面的

User/Group apache(48)/48 
+0

呼叫系统('whoami');返回我的用户名 – Matt 2012-07-22 15:26:49

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