Php 如何在AWS EC2服务器中编写cron作业

Php 如何在AWS EC2服务器中编写cron作业,php,crontab,Php,Crontab,我已经在AWSEC2中创建了一个cron作业,但它不起作用 我按照以下步骤创建cron选项卡: 步骤1:我登录到AWS EC2 Instance 第二步:crontab-e 步骤3:插入模式 步骤4:我输入了***php/var/www/html/welcome.php(每分钟运行一次) 第五步::wq Cron选项卡已创建但未运行 请任何人帮我,如果有任何PHP脚本的意思,请提供给我。我需要在每个星型之间留出空间吗?在EC2上运行cron与在任何*nix服务器上运行都没有什么不同——据我所

我已经在AWSEC2中创建了一个cron作业,但它不起作用

我按照以下步骤创建cron选项卡:

  • 步骤1:我登录到AWS EC2 Instance
  • 第二步:
    crontab-e
  • 步骤3:插入模式
  • 步骤4:我输入了
    ***php/var/www/html/welcome.php
    (每分钟运行一次)
  • 第五步:
    :wq
Cron选项卡已创建但未运行


请任何人帮我,如果有任何PHP脚本的意思,请提供给我。我需要在每个星型之间留出空间吗?

在EC2上运行cron与在任何*nix服务器上运行都没有什么不同——据我所知。 我会检查系统消息是否有任何错误。您还可以将stderr/stdout重定向到文件,如中所示

 * * * * * <your script>  >> /var/tmp/out.log 2>&1
***>/var/tmp/out.log 2>&1

首先,您需要在
php
/var
之间留出一个空格:

那么,您最好使用
/bin/php
,而不仅仅是
php
。要确定
php
可执行文件的位置,请在控制台中键入
哪个php
,它将为您提供文件路径。所以它会变成这样:

* * * * * /bin/php /var/www/html/welcome.php
          ^^^^^^^^
更多信息:

  • 检查crontab是否正确保存?键入
    crontab-l
    。你的新crontab行应该在那里
  • 脚本就在这个目录中吗?试试
    ls-l/var/www/html/welcome.php
  • 如果从控制台执行,脚本是否正在执行?尝试
    /bin/php var/www/html/welcome.php
    ,看看这是脚本还是crontab问题
  • 脚本是否具有执行模式?请尝试
    chmod755/var/www/html/welcome.php

保持我们的更新,以便我们能够找到导致错误的原因。

可能太晚了,但无论如何,如果您打算每分钟运行脚本,则该命令应该是

* * * * * php /var/www/html/welcome.php

我投了两张反对票。我可以得到一些关于如何改进答案的提示吗?值得注意的是,*****表示每分钟。以下是一些ubuntu文档,以获得更多的帮助和时间:@MikeT感谢您的输入,这确实非常有用。我通常会转到
mancrontab
或记住语法的样子。@Yojimbo感谢您的帮助!我很感激你花时间重写了它,现在解释得更清楚了;)
* * * * * /bin/php /var/www/html/welcome.php
          ^^^^^^^^
* * * * * php /var/www/html/welcome.php