2012-07-22 160 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