使用crontab执行PHP脚本

问题描述 投票:0回答:2

我正在尝试使用crontab执行PHP脚本,但它似乎不起作用。我正在运行AWS EC2 Linux,这是PHP脚本:

  FOREACH (GLOB("*.jpg") AS $filename) {
     ECHO "$filename size " . FILESIZE($filename) . "\n";
     UNLINK($filename);
  }

  FOREACH (GLOB("*.jpeg") AS $filename) {
     ECHO "$filename size " . FILESIZE($filename) . "\n";
     UNLINK($filename);
  }

  FOREACH (GLOB("*.gif") AS $filename) {
     ECHO "$filename size " . FILESIZE($filename) . "\n";
     UNLINK($filename);
  }

  FOREACH (GLOB("*.png") AS $filename) {
     ECHO "$filename size " . FILESIZE($filename) . "\n";
     UNLINK($filename);
  }

当我从浏览器手动执行此脚本时,它正常工作。但它使用crontab无效

这是我的cron命令:

00 * * * * php /var/www/html/*****/*****/delete.php

这是日志:

11月28日02:12:01 ip - ## - ## - ## - ## CROND [#####] :( root)CMD(/ usr / bin / php / var / www / html / *** ** / ***** / delete.php)

我可能做错了什么?

php amazon-web-services amazon-ec2 cron
2个回答
1
投票

我刚才有类似的问题...... Cron is setup correct (I think) but is not running

它现在为我工作:

直接编辑/ etc / crontab并确保检查您的路径。 (你甚至可以像这样进入正确的目录,也许这也将解决你的问题..)

00 * * * * cd /var/www/html/*****/*****/ && php ./delete.php

还要检查一下php是否可以解决问题。呼叫:

which php

查看PHP的完整路径并使用它。


0
投票

如果它在浏览器中正常工作,那么你可以设置如下的cron作业,

00 * * * * wget -q -O /dev/null http://example.com/delete.php

这将像你在浏览器中调用一样工作只需用你在浏览器中调用的url更改“http://example.com/delete.php”。

© www.soinside.com 2019 - 2024. All rights reserved.