windows下使用命令行运行PHP

以前一直想,在命令行下能不能运行PHP程序,像C语言同样能够经过命令行拿到参数。今天尝试了一下发现可感受挺有意思的,平时写着程序玩的时候就能够这样用,下面让咱么来看看怎么作的。
个人环境是 php5.6

1、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下环境变量主要就是这几个文件。

2、命令下执行PHP程序
要在命令行下运行PHP程序,能够不须要设置window,直接执行相似下面这样的命令便可:
 
  
F:\XAMPP\php\php.exe -f "F:\XAMPP\htdocs\test.php" -- -arg1 -arg2
前半部分是php.exe所在的位置, -f 是选项 后面接要执行php文件的路径  -arg1  -arg2是所带的参数。每次这样作感受很麻烦因此查阅相关资料找到了别的方法,感受这种方法很方便,下面让咱们来看看。

咱们只须要作下面几个步骤:
    一、 在环境变量里面加入php.exe ,php-win.exe 或 php-cli.exe的路径
    二、将.PHP后缀添加到PATHTEXT中
    三、将.PHP后缀关联成一种文件类型,用下面的命令执行
 
  
assoc .php=phpfile
    四、将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中有咱们想要的参数值,直接拿取便可。

3、总结
其实PHP中有不少有意思的东西,须要发现寻找,PHP是颇有意思的。