我想执行一个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
}
}
答案 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
等等。