【问题标题】:Set Up Cron Job To Execute PHP设置 Cron 作业以执行 PHP
【发布时间】:2014-03-28 01:25:23
【问题描述】:

我有一个带有文本框的 php 页面,该文本框接受玩家的 id 号,使用 GET 请求根据该 id 向另一个页面发出请求,然后使用响应。

这部分工作得很好。但是现在我想使用 Cron 作业来自动化这个过程。

我以前从未使用过 Cron 作业,所以我对它们的执行有点困惑。

尽管遵循此文档:[http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/][1

我正在尝试设置一个。首先通过crontab -e打开crontab后 如果我想每分钟执行一次我的 php 页面,我会写:

1 0 0 0 1 /updateplayer.php

我的第一个问题是,如果我希望它每天每分钟运行一次,我是否必须为一周中的每一天编写一个作业,或者是否有本文档中未列出的全天选项?

其次,为了运行该 php 页面的“重要”部分,我需要将我的 $_GET['playerid'] 设置为某个玩家 ID。我希望我可以通过arg1 arg2 部分的一部分来实现这一点(在我提议的cron 作业的phpexecute.php 部分之后)。然而,这并不像预期的那样工作。谁能帮我完成这项工作?

*请注意,我确实了解该工作仅适用于该工作中指定的一个玩家 ID。

【问题讨论】:

  • 您应该更全面地阅读您链接到的页面,它会向您显示每天等的选项

标签: php cron


【解决方案1】:

您不需要为一周中的每一天编写一个 cron 作业。您可以使用星号 (*) 代替 cron 作业示例中的 0 或 1,这将意味着全部。因此,第二列(小时)上的星号表示每小时运行一次。第一列(分钟)上的星号将每分钟运行一次。

cron 作业如下所示:

* * * * * php -f /[path to dir]/updateplayer.php [playerid]

对于第二部分,您可以将参数传递给 PHP 脚本,尽管您需要通过 $argv variable 而不是 $_GET 来获取它们。在我提供的示例中,您将通过 $argv[1] 获取玩家 ID

【讨论】: