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,如何传递参数呢?

我来说说

(便于我们更好的交流)

有不明白的地方欢迎留言哦~
取消