运行cron作业以将多个参数传递给相同的PHP脚本

时间:2011-05-23 14:46:55

标签: php bash cron command-line-interface

我需要自动每日调用一个PHP脚本,但每次传递一个不同的参数(大约30)。有没有一种巧妙的方法来处理这个问题,除了为每次调用脚本创建一个单独的cron?谢谢任何指针。

3 个答案:

答案 0 :(得分:2)

您可以使用不同的命令行参数运行脚本。查看getopt功能或$argv / $argc变量。

答案 1 :(得分:2)

$ argv数组将包含多个参数:

http://php.net/manual/en/reserved.variables.argv.php

<?php
var_dump( $argv );
?>

使用示例:

$ php cli.php param1 param2 param3

输出:

array(4) {
  [0]=>
  string(7) "cli.php"
  [1]=>
  string(6) "param1"
  [2]=>
  string(6) "param2"
  [3]=>
  string(6) "param3"
}

答案 2 :(得分:0)

您可以使用换行符分隔所有30个左右的参数来创建一个parameters.txt文件。然后创建一个单独的counter.txt文件,其中包含0。

阅读counter.txt文件。读取参数文件,按换行符拆分,然后访问计数器文件指示的索引位置以获取参数。

(你的文件逻辑在这里)

递增计数器,将新计数器写入counter.txt(覆盖它),然后继续此过程,一旦达到上限,重置计数器。