基于命令行执行带参数的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 相关文章推荐
smarty的保留变量问题
Oct 23 PHP
php str_pad 函数用法简介
Jul 11 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
php数字游戏 计算24算法
Jun 10 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
Codeigniter生成Excel文档的简单方法
Jun 12 PHP
php基于socket实现SMTP发送邮件的方法
Mar 05 PHP
php上传图片获取路径及给表单字段赋值的方法
Jan 23 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
May 18 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
Feb 04 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 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
Smarty模板快速入门
2007/01/04 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
PHP xpath()函数讲解
2019/02/11 PHP
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
js html实现计算器功能
2018/11/13 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
简单介绍Python中的RSS处理
2015/04/13 Python
Django中使用group_by的方法
2015/05/26 Python
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
python实现简单的文字识别
2018/11/27 Python
解决Python一行输出不显示的问题
2018/12/03 Python
python学生管理系统
2019/01/30 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
手工制作的豪华英式沙发和沙发床:Willow & Hall
2019/05/03 全球购物
酒店人事专员岗位职责
2013/12/19 职场文书
企业负责人任命书
2014/06/05 职场文书
导游词之南京栖霞山
2019/10/18 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL