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

admin 2015年09月05日 PHP学习 940次阅读 查看评论

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

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

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

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

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

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

  zhangying@ubuntu:~$ php test.php?aaa=bbb

  Could not open input file: test.php?aaa=bbb

  一般情况下,不需要向定时跑的php脚本传参数,但有的时候,是要的。

  1,test.php测试文件,很简单吧


  1. <?php  

  2. print_r($argv);  

  3. echo "\n";  

  4. echo $argc;  

  5. echo "\n";  

  6. ?>  



2.命令行下面的调用


  1. ipvb.cn@ubuntu:~$ php test.php aaa ccc  bbbb  

  2. Array  

  3. (  

  4.  [0] => test.php    //参数0,文件本身  

  5.  [1] => aaa         //参数1  

  6.  [2] => ccc         //参数2  

  7.  [3] => bbbb        //参数3  

  8. )  

  9.   

  10. 4      //$argc的值,参数的总数  



« 上一篇 下一篇 » admin原创文章,转载请注明出处! 标签:php脚本php调用命令行php

相关日志:

«   2019年11月   »
123
45678910
11121314151617
18192021222324
252627282930
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
文章归档
网站收藏
友情链接
图标汇集
  • 又拍云
  • 订阅ipvb的RSS 2.0聚合