文档章节

PHP CLI程序

iDev_周晶
 iDev_周晶
发布于 2012/10/31 17:53
字数 201
阅读 226
收藏 1
点赞 0
评论 2

编写CLI程序,从命令行启动,传入参数接收方式:

argv 、getopt()

$argv(预定义变量) :

传递给脚本的参数数组

包含当运行于命令行下时传递给当前脚本的参数的数组。

第一个参数总是当前脚本的文件名,因此 $argv[0] 就是脚本文件名。

$argc (预定义变量):

传递给脚本的参数数目

包含当运行于命令行下时传递给当前脚本的参数的数目。

 脚本的文件名总是作为参数传递给当前脚本,因此 $argc 的最小值为 1

以上两个变量仅在 register_argc_argv 打开时可用。

getopt():

$p = getopt('f:m:h',array('fname:','mem:','help'));//一个例子啥都有了

Usage: php XXX.php [options] -f(--fname) -m(--mem) [-h(--help)]


© 著作权归作者所有

共有 人打赏支持
iDev_周晶

iDev_周晶

粉丝 55
博文 9
码字总数 5401
作品 1
海淀
技术主管
加载中

评论(2)

iDev_周晶
iDev_周晶

引用来自“hisenKing”的评论

“以上两个变量仅在 register_argc_argv 打开时可用” 有测试过么?

没有,那句话是摘自php文档,上面有链接的,我觉得$argv的值用起来不方便,一般都用getopt了
hisenKing
hisenKing
“以上两个变量仅在 register_argc_argv 打开时可用” 有测试过么?
php内核分析(一)-sapi_module_struct

这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux 首先是寻找php的入口,php有很多种模式,apache,php-fpm, cli模式,我要入手的话,只能先从最简单的cli模型开始。 那么,我需要先...

王二狗子11
01/07
0
0
PHP 内核分析(1):sapi_module_struct

原文出处:叶剑峰 这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux 首先是寻找php的入口,php有很多种模式,apache,php-fpm, cli模式,我要入手的话,只能先从最简单的cli模型开始...

叶剑峰
2016/12/07
0
0
非关系型数据库Redis Linux 下安装

下载地址:http://redis.io/download $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz $ tar zxvf redis-3.2.9.tar.gz $ cd redis-3.2.9 $ make make完后 redis-3.2.9目录下会......

方花
04/24
0
0
php---如何在命令行下运行PHP脚本[带参数]

创建一个简单的文本文件,其中包含有以下PHP代码,并把它保存为hello.php: <?php echo "Hello from the CLI"; ?> 现在,试着在命令行提示符下运行这个程序,方法是调用CLI可执行文件并提供脚...

durban
2012/03/21
0
0
php workerman 异步通讯框架

提示workerman只是一个代码包,如果php环境满足要求,下载后即可使用,实际上没有安装过程。 workerman对php环境的要求是: 1、php>=5.3.3,可以运行命令 php -v 查看版本 2、Linux系统要求p...

bengozhong
2015/08/13
0
0
如何在apache中添加环境变量

之前有个问题是利用php调用shell,但通过web访问总有程序不执行,但在cli模式下运行正常。后来排查发现php在apache与cli运行时的环境变量不同,现在希望能修改apache的环境变量,请问如何修改...

East_huang
2016/04/21
42
0
php爬虫系统--crawl

php爬虫系统 * 程序只支持CLI # 安装程序 ### 1.dbconfig.php 添加正确的数据库配置 ### 2. 安装程序 php run install 启动程序 ### 安装完成后,在setting表添加来源站点及正则提取规则。 ...

匿名
2016/11/07
1K
1
Redis在Centos7下安装,与phpredis扩展安装

Centos7 安装Redis 使用YUM yum install -y redis 2. 源码包安装 下载源码包 $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz$ tar xzf redis-2.8.17.tar.gz$ cd redis-2.8.......

寻找普拉多
2015/12/06
227
0
在Zend Studio中调试PHP(4/5)

本教程将教会您如何调试文件和应用程序以便从您的PHP代码中获取最大的效率和准确性。Zend Studio的调试功能可以检查并诊断PHP代码在本地或远程服务器上的错误。调试器允许您通过设置断点、暂...

Miss_Hello_World
2016/10/08
58
0
thinkphp 定时执行php文件 php自动执行php文件

最近开发短信任务和短信发送功能,用到了定时执行php这方面:和大家分享一下: (个人笔记,写的不好,海涵海涵,看不懂的话可以留言,但是我一般都能及时回复,其他网上有很多这样的教程,大...

松竹斋
2012/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CDH的坑之Sqoop导出数据到MySQL

CDH的坑之Sqoop导出数据到MySQL 最近使用Sqoop从Hive导出数据到MySQL中,出现了一系列的问题,下面将这个问题记录一下,避免再度踩坑! 导出语句 sqoop export --connect jdbc:mysql://192....

星汉
11分钟前
0
0
Hyperledger Fabric 客户端开发三

前面两篇文章介绍了Hyperledger Fabric SDK并使用一个实例介绍如何通过SDK和Hyperledger Fabric Blockchain交互, 现在详细分析相关的过程。 首先看 enroll (登录) admin 过程。 'use stric...

十一月不远
12分钟前
0
0
PowerDesigner连接MySQL和逆向工程图

最近想梳理公司项目的表间关系,从项目后台管理系统的操作入手,以及代码的hibernate注解入手,都不算特别尽人意,于是最后还是鼓捣了一下PowerDesigner的逆向工程图,这样更直观一些。 想着...

Oo若离oO
12分钟前
0
0
威胁web应用安全的错误

一般绝大部分的web应用攻击都是没特定目标的大范围漏洞扫描,只有少数攻击确实是为入侵特定目标而进行的针对性尝试。这两种攻击都非常频繁,难以准确检测出来,许多网站的web应用防火墙都无法...

上树的熊
15分钟前
2
0
pypy2 install crypto error

install pycryptodome instead pip install pycryptodome

coord
19分钟前
0
0
Service Mesh所应对的8项挑战

Lori Macvittie 微服务架构是把双刃剑,我们享受它带来的开发速度(development velocity),却也不得不面对服务间通讯带来的复杂性问题。 目前大多数扩展容器化微服务的架构多是基于proxy-b...

好雨云帮
28分钟前
0
0
时间复杂度

1. 维基上的定义 在计算机科学中,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低...

liuyan_lc
34分钟前
0
0
js中的~符

~是js里的按位取反操作符,~~就是执行两次按位取反,其实就是保持原值,但是注意虽然是原值,但是对布尔型变量执行这个操作,会转化成相应的数值型变量,也就是 ~~true === 1,~~false === 0...

JamesView
35分钟前
0
0
webpack安装

npm install --save-dev webpack-cli

Vincent-Duan
37分钟前
0
0
实时监听EditText内容变化

主要是addTextChangedListener方法的使用 aswerEdittext.addTextChangedListener(new TextWatcher() { //编辑框的内容发生改变之前的回调方法 @Override public void before...

王先森oO
40分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部