您好,登录后才能下订单哦!
这篇文章主要为大家展示了“命令行如何执行带参数的php脚本并取得参数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“命令行如何执行带参数的php脚本并取得参数”这篇文章吧。
具体如下:
一、为什么我们要在命令行下运行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测试文件,很简单吧
<?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脚本真的很像
zhangying@ubuntu:~$ sh c1.sh aaa bbb
我向c1.sh传了二个参数aaa bbb,shell会得到三个参数,$0为文件本身,$1为参数1,$2为参数2。不同的是,php得到的是以数组的形势,而shell不是。
以上是“命令行如何执行带参数的php脚本并取得参数”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。