我在我的localhost crontab
中编写了这个命令*/1 * * * * /usr/bin/wget -O /dev/null -q http://localhost/whitelabel/cms/cronjobs/calculatestats.php
它在本地主机(ubuntu 12.04)上工作得很好,但在我的实时服务器(Cent OS)上,我添加了这个命令
*/1 * * * * /usr/bin/wget -O /dev/null -q http://liveserver.com/whitelabel/cms/cronjobs/calculatestats.php
但它不起作用。虽然如果我在浏览器中运行此服务器文件URL,它可以工作,但我必须通过cronjob运行它。我也给了访问这个文件的权限,但它不能在cronjob中工作。
你需要通过web服务器运行这个吗?对于cron作业,我将这样创建我的PHP文件:
#!/usr/local/bin/php -q
<?
// /usr/local/bin/php -q is path to your PHP CGI file - any host should have one of these
// code here
?>
并这样运行:
*/1 * * * * /path/to/file.php >/dev/null
首先对文件执行chmod 755,并确保以ASCII模式上传
您是否尝试过运行:/usr/bin/wget -O/dev/null -q http://liveserver.comwhitelabel/cms/cronjobs/calculatestats.php
在控制台吗?通常,当我尝试在不使用cronjob的情况下运行该命令时,会出现错误。
比较该命令在您的本地机器上所做的事情和它在没有chronjob的服务器上所做的事情,看看您是否可以找到答案:)
将以下行添加到/etc/hosts
127.0.0.1 liveserver.com