关于PHP的CLI工具

python和nodejs都提供了相应的cli工具方便学习和测试代码片段,同样作为脚本语言的php也有cli工具,本篇文章就简单的介绍一下在windows环境下如何使用php的cli工具。我们先讨论一下什么是cli,以及cli的用处然后再展开PHP的cli,看看PHP的cli能帮助我们解决什么问题。

什么是cli?

cli是command-line interface的错写及命令行交互工具。使用过python或者nodejs的同学一定都见过这样的工具。
python的cli工具

python cli

不管是python还是nodejs甚至是java都在windows环境下提供了cli工具方便开发者使用和测试。

为什么需要cli工具?

要知道有些linux操作系统是没有操作界面的,更别提使用什么高级的IDE工具了,那我们怎么才能执行程序或者对程序进行编译呢?这时候我们就需要一个可以对编程语言执行一些脚本命令的cli工具了。只需要通过简单的命令行就可以执行编译,调试代码片段的操作了。比如编译c++

g++ -o hello hello.cpp

以上编译hello的执行程序。
或者python执行一个程序:

python hello.py

这样python的cli工具就帮助我们在命令行里执行hello.py这个程序了。
总结:cli工具就是一个命令行可执行的程序。

关于PHP的cli

基础结束让我们说说php的cli程序,php自2004年在TIOBE登榜以后一直作为web开发的重要语言,但是我们在使用php的时候大多数都是通过配置好的环境然后使用浏览器去访问和查看脚本语言的运行结果。
当我们想要测试一些写的代码的时候就需要不停的打开浏览器去查看运行结果。这样每次我们都要从IDE切换到浏览器,很麻烦。现在很多IDE甚至文本编辑器都是有Terminal插件的我们可以直接在Terminal插件当中使用cli工具。

windows环境下如何使用php的cli

这里主要说一些在windows下使用cli的问题,首先windows下使用cli需要把php的环境变量添加到系统当中。
不了解windows环境变量配置的可以搜索一下。另外win10的环境变量配置比之前的都方便多了。
windows下php的cli实际上是在命令行当中启用php.exe。当我们配置好环境变量的时候打开windows的cmd输入:

php --help

就可以看到php cli的全部命令

phpcli

php cli简单实用说明

我们看--help命令反馈出来的说明文档可以了解如何使用php的cli,Usage后面的内容描述的是php cli的命令格式。空一格下面的-a -c -n这类关键词是指Usage里面options的参数,再往下一点--两个横杠的关键词就是args里面的参数。
比如我们在cmd当中输入:

php -a

就会进入到php的交互执行代码的模式。其中-a就是options参数。

php -a的注意事项

理论上你看到的应该和下面的代码比较类似,提示Interactive shell然后提示php > 后面就可以输入各种命令了。同时也不需要你输入任何<?php ?>。

$ php -a
Interactive shell

php > echo time();
1330954675
php > $a = 1;
php > echo $a;
1

然而在windows下你可能看到的是这样的:

$ php -a
Interactive mode enabled

<?php
echo time() . "\n";
$a = 1;
echo $a;
?> 
^Z
1330954647
1

windows下进入的是Interactive mode enabled模式,这是因为windows的php在编译的过程当中没有把readline扩展编译进去,所以windows版的PHP在-a命令的时候就需要添加<?php ?>了。同时上述代码当中的^Z表示的意思是按ctrl+Z。

用PHP cli运行一个php文件

当然有的时候我们还想单独运行一个文件查看调试结果,可以像下面这样做。

php -f 'test.php'

以上-f是options的参数,'test.php'就是代替了尖括号<file>。

总结

以上简单说明了php cli的使用方法,其实不仅仅是php cli按照本文的思路可以使用任何一款编程语言的cli工具,c/c++,java,python,nodejs,go,ruby等等都可以,我们只需要输入编程语言的名字然后 --help查看相关的命令使用方法就可以了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 1 Node.js安装与配置 1.1 Windows平台下的Node.js安装 在过去,Node.js一直不支持在...
    七寸知架构阅读 3,935评论 0 50
  • 今年开始,我就过上了一天做三顿饭的“悲催”生活。感觉每天的生活变成了吃完上顿想下顿,尤其是这酷热的天气下,一天奔...
    黑脸蛋单眼皮阅读 265评论 0 1
  • 要过年了,年味倒是不怎么浓,但毕竟靠近年,班上并无重要与急着要处理的工作,做了一些私活。 帮婆婆的特殊病种给办理一...
    龙青阅读 77评论 0 3