基于命令行执行带参数的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 ftp文件上传函数(基础版)
Jun 03 PHP
php HtmlReplace输入过滤安全函数
Jul 03 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
Sep 05 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
php mb_substr()函数截取中文字符串应用示例
Jul 29 PHP
php统计数组元素个数的方法
Jul 02 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
Dec 25 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
yii2使用ajax返回json的实现方法
May 14 PHP
laravel5表单唯一验证的实例代码
Sep 30 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
合作指挥官:孟斯克
2020/03/16 星际争霸
我的论坛源代码(七)
2006/10/09 PHP
支持oicq头像的留言簿(一)
2006/10/09 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
Python中生成器和yield语句的用法详解
2015/04/17 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
季度思想汇报
2014/01/01 职场文书
党员活动日总结
2014/05/05 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
2014年政工师工作总结
2014/12/18 职场文书
承诺函范文
2015/01/21 职场文书
教师节获奖感言
2015/07/31 职场文书
学雷锋广播稿大全
2015/08/19 职场文书