php是可以在shell中直接运行的,比在浏览器中访问要方便的多,我们还可以在crontab设置一些定时任务去跑php。
如果不需要各种参数的话,那么不会有问题,如果需要像浏览器中那样通过get或者post的方式提供各种参数,该怎么处理呢?
你可能会想到下面的方法,很遗憾,你会收到一个错误!
kris@letuknowit# php t.php?id=1 Could not open input file: t.php?id=1
其实嘛,既然是在shell中执行php,那么自然会想到shell中的参数传递方式
kris@letuknowit# php t.php a b c 4 Array ( [0] => t.php //参数0,文件本身 [1] => a //参数1 [2] => b //参数2 [3] => c //参数3 )
下面看看t.php中的内容
kris@letuknowit# cat t.php <?php echo $argc."\n"; print_r($argv);
在php里通过$argc获取参数个数,$argv这个数组中就保存了所有的参数了,其中参数0是文件本身。
转载请注明:知识蚂蚁 » shell中调用php,如何传递参数呢?