我正在尝试使用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作业。有任何想法如何解决这个问题?
答案 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