美文网首页
PHP 命令行选项 用户介绍

PHP 命令行选项 用户介绍

作者: WayneJoe | 来源:发表于2019-10-29 13:52 被阅读0次

    php --help 或 php -h 会列出命令行选项(如下)。后面会逐一列举这些选项的简单用法。

    $ php -h
      -a               Run as interactive shell
      -c <path>|<file> Look for php.ini file in this directory
      -n               No configuration (ini) files will be used
      -d foo[=bar]     Define INI entry foo with value 'bar'
      -e               Generate extended information for debugger/profiler
      -f <file>        Parse and execute <file>.
      -h               This help
      -i               PHP information
      -l               Syntax check only (lint)
      -m               Show compiled in modules
      -r <code>        Run PHP <code> without using script tags <?..?>
      -B <begin_code>  Run PHP <begin_code> before processing input lines
      -R <code>        Run PHP <code> for every input line
      -F <file>        Parse and execute <file> for every input line
      -E <end_code>    Run PHP <end_code> after processing all input lines
      -H               Hide any passed arguments from external tools.
      -S <addr>:<port> Run with built-in web server.
      -t <docroot>     Specify document root <docroot> for built-in web server.
      -s               Output HTML syntax highlighted source.
      -v               Version number
      -w               Output source with stripped comments and whitespace.
      -z <file>        Load Zend extension <file>.
    

    1、php -a (win下不可用)

    交互式运行 PHP,即php的shell命令行,tab键补全。见示例:

    $ php -a
    php > $desc = '我想写点php测试代码';
    php > echo $desc."\n";
    我想写点php测试代码
    php > quit
    $
    

    2、php -c

    用该参数,可以指定一个放置 php.ini 文件的目录,或者直接指定一个自定义的 INI 文件。这样你的脚本就会基于指定php配置运行

    php -c /custom/directory/ my_script.php
    php -c /custom/directory/custom-file.ini my_script.php
    

    3、 php -n

    这个更狠,完全忽略 php.ini

    php -n test.php 
    

    4、php -d

    -d 和 -c -n 都是针对php.ini的操作。-d可自行设置任何可以在 php.ini 文件中设置的配置选项的值,其语法为:

    php -d configuration_directive[=value]
    

    用默认的php.ini但局部配置微调,用法示例:

    $ cat testD.php
    <?php
    $foo = ini_get('max_execution_time');
    var_dump($foo);
    $ php testD.php
    string(1) "0"
    $ php -d max_execution_time=20 testD.php
    string(1) "20"
    

    5、php -e

    激活扩展信息,

    6、 php -f

    执行php脚本文件,-f可省略

    $ php test.php
    

    7、php -h (同php --help)

    使用该参数,可以得到完整的命令行参数的列表及这些参数作用的简单描述。

    8、php -i (同 --info)

    该命令行参数会调用 [phpinfo()]函数并显示出结果。

    9、php -l

    这个检测脚本是否有语法错误是很有用。如果有语法错误,会报错

    $ cat checkSyntax.php 
    <?php
      $o = 'Hello'  // 缺少结束符 ;
    

    用php -l检测脚本的语法报错如下:

    $ php -l checkSyntax.php 
    PHP Parse error:  syntax error, unexpected end of file in checkSyntax.php on line 6
    
    Parse error: syntax error, unexpected end of file in checkSyntax.php on line 6
    Errors parsing checkSyntax.php
    

    9、php -m

    检测环境的扩展时很有用。使用该参数,PHP 将打印出内置以及已加载的 PHP 及 Zend 模块。

    $ php -m
    [PHP Modules]
    xml
    mysql
    mbstring
    

    10、php -r

    使用该参数可以在命令行内运行单行 PHP 代码。与php -a相比,php -r执行的单行php字符串,且不记录上下文环境

    $ php -r 'echo "Hello";'
    

    11、php -B 和 php -R 以及 php -E

    linux不常用,用shell也可以实现同样功能
    示例:使用 -B ,-R 和 -E 选项来计算一个项目总行数的例子

    find testDir|php -B '$line=0;' -R '$line += count(@file($argn));' -E 'echo "Total Lines:$line\n";'
    Total Lines:968
    

    12、php -s

    显示有语法高亮色彩的源代码。示例:

    $ cat checkSyntax.php
    <?php
      $o = 'Hello';
    

    上面php代码,在用-s输出代码时会加颜色显示

    $ php -s checkSyntax.php
    <code>
    <span style="color: #000000">
    <span style="color: #0000BB">&lt;?php<br />$o&nbsp;</span>
    <span style="color: #007700">=&nbsp;</span>
    <span style="color: #DD0000">'Hello'</span>
    <span style="color: #007700">;&nbsp;<br /></span>
    </span>
    </code>
    

    13、php -v (同--version)

    输出php的版本信息

    $ php -v
    PHP 4.3.0 (cli), Copyright (c) 1997-2002 The PHP Group
    Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies
    

    14、php -w (同--strip)

    将源代码除去了注释和多余空白后显示,可用于简洁代码。示例:

    $ cat checkStrip.php
    // 我是注释
    
    // 我也是注释,另外上面有很多空白
    $o = 'Hello'; //注释
    

    执行后,将显示去除后的简洁代码

    $ php -w checkStrip.php
    <?php
     $o = 'Hello'; 
    

    15、php -z

    加载 Zend 扩展库。默认读取/etc/ld.so.conf 指定的系统扩展库,也可以指定扩展的绝对路径地址。

    邮箱:wyqianghh@163.com
    PHP 的命令行模式能使得 PHP 脚本能完全独立于 web 服务器单独运行。比较常用的参数有:-a -c -h -i -l -m -r -v

    相关文章

      网友评论

          本文标题:PHP 命令行选项 用户介绍

          本文链接:https://www.haomeiwen.com/subject/cptivctx.html