基于命令行执行带参数的php脚本并取得参数的方法


Posted in PHP onJanuary 25, 2016

本文分析了基于命令行执行带参数的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程序设计有所帮助。

PHP 相关文章推荐
PHP中遍历stdclass object的实现代码
Jun 09 PHP
php类中private属性继承问题分析
Nov 01 PHP
PHP实现读取一个1G的文件大小
Aug 24 PHP
PHP类继承 extends使用介绍
Jan 14 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
php上传图片类及用法示例
May 11 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
php修改数组键名的方法示例
Apr 15 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 PHP
详解thinkphp的Auth类认证
May 28 PHP
crontab无法执行php的解决方法
Jan 25 #PHP
win7安装php框架Yii的方法
Jan 25 #PHP
php结合md5实现的加密解密方法
Jan 25 #PHP
PHP几个实用自定义函数小结
Jan 25 #PHP
php代码架构的八点注意事项
Jan 25 #PHP
详解js异步文件加载器
Jan 24 #PHP
PHP导出Excel实例讲解
Jan 24 #PHP
You might like
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
PHP调试函数和日志记录函数分享
2015/01/31 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
jquery自动将form表单封装成json的具体实现
2014/03/17 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
python 为什么说eval要慎用
2019/03/26 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
英国综合网上购物商城:The Hut
2018/07/03 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
房贷工资证明范本
2015/06/12 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
图解上海144收音机
2021/04/22 无线电
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
Java8中Stream的一些神操作
2021/11/02 Java/Android
服务器SVN搭建图文安装过程
2022/06/21 Servers
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS