windows下使用命令行运行PHP
之前一直想,在命令行下能不能运行PHP程序,像C语言一样可以通过命令行拿到参数。今天尝试了一下发现可感觉挺有意思的,平时写着程序玩的时候就可以这样用,下面让咱么来看看怎么做的。
我的环境是 php5.6
一、PHP CLI模式
什么是CLI ? 是PHP自4.3版本之后提供的CLI SAPI 叫CLI(Command Line Interface),主要用于PHP外壳应用的开发。说白了就是支持命令行下解析PHP代码。外壳应用可以理解为提供命令行界面的解析器。比如Linux下的shell等。从PHP5之后PHP的发行包中CLI的执行文件是php.exe,CGI版本的是php-cgi.exe,并且其中附带一个php-win.exe的文件,其相当于CLI版本,其不输出任何信息。其实配置window下环境变量主要就是这几个文件。
二、命令下执行PHP程序
要在命令行下运行PHP程序,可以不需要设置window,直接执行类似下面这样的命令即可:
F:\XAMPP\php\php.exe -f "F:\XAMPP\htdocs\test.php" -- -arg1 -arg2
前半部分是php.exe所在的位置, -f 是选项 后面接要执行php文件的路径 -arg1 -arg2是所带的参数。每次这样做感觉很麻烦所以查阅相关资料找到了别的方法,感觉这种方法很方便,下面让我们来看看。
我们只需要做下面几个步骤:
1、在环境变量里面加入php.exe ,php-win.exe 或 php-cli.exe的路径
2、将.PHP后缀添加到PATHTEXT中
3、将.PHP后缀关联成一种文件类型,用下面的命令执行
assoc .php=phpfile
4、将phpfile类型的文件关联到相关的可执行程序即可,用下面的命令执行
ftype phpfile="F:\XAMPP\PHP\php.exe" -f "%1" -- %~2
这样就可以直接不加php.exe文件所在路径和php文件的后缀直接执行了。其中可能遇到杀毒软件修改注册表的提示,直接全部允许就好。
可能会有疑问,这样我们如何在PHP代码中拿到命令行中的参数,其实参数在$_SERVER中就可有:
在命令行下输入:
demo_cli.php 123456789
这条命令的意思是执行demo_cli.php参数是123456789;接下来我们来打印输出看看$_SERVER的内容(只显示部分内容):
'argv' =>
array(2) {
[0] =>
string(49) "F:\XAMPP\htdocs\
[1] =>
string(9) "123456789"
}
'argc' =>
int(2)
可以看到argv中有我们想要的参数值,直接拿取即可
作者: 小灰灰heart
链接:http://www.imooc.com/article/6433
来源:慕课网
windows下使用命令行运行PHP的更多相关文章
- windows下cmd命令行显示UTF8字符设置(CHCP命令)
本文由 www.169it.com 收集整理 在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容.在默认情况下 ...
- windows下的命令行工具babun
什么是babun babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell.用官方的题目说就是 ...
- 几款比较好用的C语言的集成开发环境及在windows下用命令行编译C代码
最近要用到C,所以尝试了这几款windows平台下比较好的IDE. VS2015:比较复杂和庞大,据说从2013版本开始支持C99标准. C-free:轻巧,但是不支持C99. vc++6.0:很多学 ...
- Windows下的命令行终端 cmder
Windows下有很多比系统自带的cmd或者PowerShell好用的命令行工具,cmder是最为推荐的一款. 1.从cmder官网直接下载,一般下载full版本,下载完成后解压文件到自己指定的目录, ...
- phpstorm分别在Mac和Windows下启动命令行,并启用ssh
Mac:在terminal下运行 sudo -i 输入密码 就可以用ssh IP:端口 命令行登录了 DAssist是一个命令行开发辅助,可直接在系统命令行工具中使用,Linux和MacOS等自带 ...
- 让 windows 下的命令行程序 cmd.exe 用起来更顺手
在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...
- 在Windows下通过命令行或者.bat文件统计一个目录中文件数量
在Windows下面怎样通过命令行统计一个目录中文件的数量,或者说,如果在一个.bat文件中,统计一个目录中的文件数量? 我原来以为是不可能的,要编一个vbs程序什么的,后来到网上找了下,发现还真是可 ...
- Windows下SVN命令行工具使用详解
根据我的记忆,似乎Windows 7下自自带一个svn命令行工具.如果你的机器没有,不必担心.你可以从http://subversion.tigris.org获 取subversion for win ...
- Windows下dos命令行
Dos命令--基本命令 1.求助命令 例如:del /? rd /? 2.基本常用命令 例如:dir :列出当前目录下的文件以及文件夹,后面可以接其他路径 md:创建目录(mkdir),一次创建多级目 ...
随机推荐
- Django 框架 基本知识
一.什么事web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支持结构,使用框架可以使我们快速开发特定的系统,简单来说,就是讲实现方式的底层结构进行封装,提供相应的 ...
- mvc中文件上传下载
//控制器 public ActionResult FileUpLoad(HttpPostedFileBase f1) { string path = Server.MapPath("~/P ...
- Android提权漏洞CVE-2014-7920、CVE-2014-7921
- Pycharm进行版本管理
即然pycharm为python提供了这么强大的IDE,那么,我们代码管理,没理由不用版本管理工具Git,SVN等等 在pychram中使用GitHub进行代码管理;需要准备: 1)GitHub帐号: ...
- Selenium基础知识(六)下拉列表定位
1.下拉列表定位 要选择下拉列表中的元素,要先定位到,下拉列表元素,然后可以通过xpath去点击,表内内容 例如,百度搜索-->百度设置-->搜索设置-->选择下拉列表框内" ...
- C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解
之前工作上需要用C++把软件生成的用户序列号用des加密cbc的模式,加密后为二进制,转化为十六进制,然后提供给java写的授权码管理平台. java平台会根据用户序列号,生成一个授权码,授权码是用r ...
- Hadoop.之.入门部署
一.课程目标 ->大数据是什么?大数据能做什么? ->什么是Hadoop?Hadoop的设计思想? ->Hadoop如何解决大数据的问题?(什么是hdfs与yarn.MapReduc ...
- VS 应用模板 所交税和实发工资的运算
double SFGZ, SL, SSKCS, YFGZ,a,YJS; //应发工资(基本工资),税率,速算扣除数,应发工资,判断标准,交多少税 //double QZD = 3500;//起征点 无 ...
- Hello world!(内含自己编写的C语言二叉树同学录)
修改:刷了一段时间的题,水平渐涨,发现同学录真的要做成市面可行的应用的话,应该按学号建立二叉平衡树,红黑树是一个可行的选择. 在同学的推荐下,来到博客园来找志同道合的人交流代码.3个月后参加蓝桥杯 ...
- html5-微格式-时间的格式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...