基于命令行执行带参数的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下防止单引号,双引号在接受页面转义的设置方法
Sep 25 PHP
PHP 巧用数组降低程序的时间复杂度
Jan 01 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 PHP
PHP与C#分别格式化文件大小的代码
May 14 PHP
php下载文件的代码示例
Jun 29 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
HTML中嵌入PHP的简单方法
Feb 16 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
php精度计算的问题解析
Jun 21 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
PHP定时更新程序设计思路分享
2014/06/10 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
Javascript 各浏览器的 Javascript 效率对比
2008/01/23 Javascript
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
python开启多个子进程并行运行的方法
2015/04/18 Python
Python读取数据集并消除数据中的空行方法
2018/07/12 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
django中cookiecutter的使用教程
2020/12/03 Python
使用Python实现音频双通道分离
2020/12/25 Python
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
夏季奶茶店创业计划书
2014/01/16 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
消防标语大全
2014/06/07 职场文书
展览会邀请函
2015/02/02 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python