【问题标题】:Cron Jobs calling a PHP script with variablesCron Jobs 使用变量调用 PHP 脚本
【发布时间】:2011-04-21 19:44:31
【问题描述】:

在 cron 作业中使用以下命令是否正确:

/usr/bin/php -q /home/**/public_html/scores.php?date=12/05/2009

我没有找到任何支持性的文章/材料来回答它,因此我向社区提出了这个问题。

所以问题是我有没有办法在调用 PHP 脚本的 cron 作业中包含一个变量?

谢谢

【问题讨论】:

    标签: php cron


    【解决方案1】:

    在 cron 作业中,您应该如何传递参数

    /usr/bin/php -q /home/**/public_html/scores.php date=12/05/2009
    

    *注意没有“?”

    【讨论】:

      【解决方案2】:

      尼克,看看http://php.net/manual/en/features.commandline.php

      您要做的是以php -f scores.php '12/05/2009' 的形式传递参数。此时,您只需查看$_SERVER['argv'] 即可获取值。

      【讨论】:

        【解决方案3】:

        您可以设置一个 cronjob 以从您的服务器获取它:

        wget -q -O /dev/null "http://yourdomain.com/scores.php?date=12%2F05%2F2009"
        

        【讨论】:

        • 抱歉,我对 cronjobs 缺乏经验。你是说上面的行会在我原来的命令中出现吗?
        • 是的。例如。 0 * * * * wget -q -O /dev/null "http://yourdomain.com/scores.php?date=12%2F05%2F2009 会每小时获取一次 URL。
        • 当 PHP 已经提供了一种传递命令行参数的方法时,这似乎是一个麻烦的解决方法。
        【解决方案4】:

        我遇到了同样的问题,我的快速解决方法是创建一个单独的文件,其中声明了参数,然后“包含”原始 Cron 文件。

        即:

        $date = '12/05/2009';
        
        include ('scores.php');
        

        【讨论】:

          【解决方案5】:

          使用这个

          /usr/bin/php -q /home/**/public_html/scores.php 12/05/2009
          

          【讨论】:

          • 这有什么不同,为什么这比@Dennis 的回答更好
          • 对不起,我不知道。我刚用过。你能解释一下吗?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-01
          • 2014-06-21
          • 1970-01-01
          • 1970-01-01
          • 2015-03-05
          相关资源
          最近更新 更多