PHP Cron作业错误

时间:2015-04-10 13:25:08

标签: php cron

我想执行一个cron作业,但我收到一封电子邮件告诉我:

  

未指定输入文件。

我每天15:00运行以下cron命令

/usr/bin/php -q /home/popasur/public_html/analytics/savedata_script.php?paramz=savesmdata

如果我删除“?”我收到一封带有输出的电子邮件,但我也收到了这个警告:

  

注意 /home/popasur/public_html/analytics/savedata_script.php 15 上未定义的偏移:1 <

        $arguments = array();
    if (is_array($argv) && !empty($argv)) {
        foreach ($argv as $a) {
            $a_explode = explode("=", $a);
            $arguments[$a_explode[0]] = $a_explode[1]; //line 15
        }
    }

2 个答案:

答案 0 :(得分:0)

通常不会在命令行上传递参数。您的脚本未运行的原因是shell正在尝试查找名为/home/popasur/public_html/analytics/savedata_script.php?paramz=savesmdata

的文件

我认为你想要的是:

/home/popasur/public_html/analytics/savedata_script.php paramz=savesmdata

然后在$ argv [1]

上执行你想要的任何爆炸

(或使用像getopts这样的东西来正确完成)

答案 1 :(得分:0)

如果您使用$argv,则应该像这样运行脚本:

php myScript.php arg1 arg2 arg3 ...

在这种情况下,你有:

$argv[0] // myScript.php
$argv[1] // arg1
$argv[2] // arg2

等等。