命令行执行带参数的php脚本,并取得参数

2012-10-9 杜世伟 Php

一,为什么我们要在命令行下运行php脚本呢?

个人理解,主要有二个原因:

1,利用crontab去跑php,可以给服务器减压,当然在这里有一个条件,就是实时性要求不高。比如:sns中的好友动态,这个实时要求不高,但是数据量比较大,这个时候定时跑的话,会给web服务器,数据库服务器分担不小的压力。

2,就是我们要定时去完成某一事情,比如:我要删除一个月前,用户留言,这个时候,写的php脚本在crontab去执行,一天跑一次就行了。而不是手动去执行php程序。

二,命令行下执行带参数php,并取得参数

有一点很重要,就是命令行下执行php,是不走apache等这类东西的,没有什么http协议,所有get,post传参数根本不起作用,并且还会报错,如下:

<?php 
print_r($argv); 
echo "\n"; 
echo $argc; echo "\n";
 ?> 
<?php 
print_r($argv);
 echo "\n"; 
echo $argc; 
echo "\n";
?>


2,命令行下调用

查看复制打印?
zhangying@ubuntu:~$ php test.php aaa ccc  bbbb
Array
(
 [0] => test.php    //参数0,文件本身
 [1] => aaa         //参数1
 [2] => ccc         //参数2
 [3] => bbbb        //参数3
)

4      //$argc的值,参数的总数
这种传参的方式,根shell脚本真的很像,

标签: PHP

Powered by emlog 沪ICP备2023034538号-1