基于命令行执行带参数的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 相关文章推荐
mysql limit查询优化分析
Nov 12 PHP
PHP 柱状图实现代码
Dec 04 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
php一个找二层目录的小东东
Aug 02 PHP
基于PHP+Ajax实现表单验证的详解
Jun 25 PHP
PHP判断IP并转跳到相应城市分站的方法
Mar 25 PHP
浅谈php错误提示及查错方法
Jul 14 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 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
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
PHP实现简单的计算器
2020/08/28 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
JQuery的一些小应用收集
2010/03/27 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
Python生成器常见问题及解决方案
2020/03/21 Python
python获取响应某个字段值的3种实现方法
2020/04/30 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
局域网定义和特性
2016/01/23 面试题
中国梦读书活动总结
2014/07/10 职场文书
中职招生先进个人材料
2014/08/31 职场文书
股权转让协议书
2014/12/07 职场文书
先进学校事迹材料
2014/12/30 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
工作简报格式范文
2015/07/21 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书