基于命令行执行带参数的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+mysql一个名片库程序
Oct 09 PHP
第六章 php目录与文件操作
Dec 30 PHP
php+ajax导入大数据时产生的问题处理
Jun 11 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
php去除数组中重复数据
Nov 18 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
php实现兼容2038年后Unix时间戳转换函数
Mar 18 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
利用PHP实现一个简单的用户登记表示例
Apr 25 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
Sep 13 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将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
js滚动条回到顶部的代码
2011/12/06 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
JS数组求和的常用方法实例小结
2019/01/07 Javascript
Python的re模块正则表达式操作
2016/05/25 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
在django中自定义字段Field详解
2019/12/03 Python
Python-opencv 双线性插值实例
2020/01/17 Python
python代码区分大小写吗
2020/06/17 Python
python怎么判断素数
2020/07/01 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
用python实现一个简单的验证码
2020/12/09 Python
用css3写出气球样式的示例代码
2017/09/11 HTML / CSS
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
设计师个人求职信范文
2014/02/02 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
Python实现生成bmp图像的方法
2021/06/13 Python
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python