【问题标题】:Running cron jobs to pass multiple params to same PHP script运行 cron 作业以将多个参数传递给同一个 PHP 脚本
【发布时间】:2011-08-31 05:26:25
【问题描述】:

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

【问题讨论】:

  • 什么决定了将哪个参数传递给脚本,只是时间?
  • 有一个大约 30 个数字的数组,所有这些数字都需要单独传递给脚本 - 参数是天数,每个都用作查询中的过滤器

标签: php bash cron command-line-interface


【解决方案1】:

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

【讨论】:

    【解决方案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"
    }
    

    【讨论】:

      【解决方案3】:

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

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

      (这里是你的文件逻辑)

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

      【讨论】:

        猜你喜欢
        • 2011-11-07
        • 2012-08-06
        • 2011-02-28
        • 1970-01-01
        • 2012-07-03
        • 2011-09-08
        • 1970-01-01
        • 1970-01-01
        • 2017-05-08
        相关资源
        最近更新 更多