zoukankan      html  css  js  c++  java
  • 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:XAMPPphpphp.exe -f "F:XAMPPhtdocs	est.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:XAMPPPHPphp.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:XAMPPhtdocs
      [1] =>
      string(9) "123456789"
    }
    'argc' =>
    int(2)


    可以看到argv中有我们想要的参数值,直接拿取即可

    作者: 小灰灰heart
    链接:http://www.imooc.com/article/6433
    来源:慕课网

  • 相关阅读:
    华为平板暴力禁用wifi
    传输层与数据层架构一二谈
    内外网访问控制设计
    机房通信网设计
    list add元素覆盖之前元素问题思考
    IIS8无法调用Oracle.DataAccess .dll问题
    线程令牌
    Socket解决粘包问题2
    Socket解决粘包问题1
    Socket异步通信学习三
  • 原文地址:https://www.cnblogs.com/-mrl/p/7151983.html
Copyright © 2011-2022 走看看