php cli模式

CLI模式获取参数、选项

  1. 方法1:
    <?php
    //请求输入参数
    fwrite(STDOUT, "请输入名字:");
    //获得输入参数
    $name = trim(fgets(STDIN));
    //输出获得参数
    fwrite(STDOUT, "你好, $name !");
    
    命令行:
    php 文件名 回车
    请输入名字:
    Jane Eyre 回车
    你好,Jane Eyre!
    
  2. 方法2:
    <?php
    print_r($argv);
    echo $argc;
    
    命令行:
    php 文件名 参数1 参数2 回车
    array(
        '0'=>'文件名',
        '1'=>'参数1',
        '2'=>'参数2'
    )
    3
    
  3. 方法3:(仅在 register_argc_argv 打开时可用)
    <?php
    /*
     *$str、$arr中'x:'为必填参数,'x::'为可选参数
     *可以通过 -a -b -c -d(可选,'='号传值)传入参数
     *可以通过--kay1 --kay2(可选,'='号传值)传入参数
     *必填参数不给值,会将后面输入的内容解析为参数的值
     */
    $str = "a:b:c:d::efg";
    $arr = array(
        "kay1:",
        "kay2::",
        "kay3",
        "kay4",
    );
    $options = getopt($str, $arr);
    print_r($options);
    
    命令行:
    php 文件名 -a 111 -b 112 -c 113 -d=114 --kay1 111 --kay2=112 回车
    Array
    (
        [a] => 111
        [b] => 112
        [c] => 113
        [d] => 114
        [kay1] => 111
        [kay2] => 112
    )
    

CLI模式输出控制

  1. CLI模式输出样式控制
    <?php
    # 举例
    echo "\33[1;5;32;49m一段文字\33[0m", PHP_EOL;
    # 说明
    # 0  重置所有样式
    # 1  开启文字粗体
    # 2  开启一半亮度
    # 4  开启底线样式
    # 5  开启文字闪烁
    # 7  开启图片反向
    # 22 开启一般密度
    # 24 关闭底线样式
    # 25 关闭文字闪烁
    # 27 关闭图象反向
    # 30 开启黑色前景
    # 31 开启红色前景
    # 32 开启绿色前景
    # 33 开启棕色前景
    # 34 开启蓝色前景
    # 35 开启紫色前景
    # 36 开启青色前景
    # 37 开启白色前景
    # 38 开启文字底线
    # 39 关闭文字底线
    # 40 开启黑色背景
    # 41 开启红色背景
    # 42 开启绿色背景
    # 43 开启棕色背景
    # 44 开启蓝色背景
    # 45 开启紫色背景
    # 46 开启青色背景
    # 47 开启白色背景
    # 49 开启黑色背景
    

CLI模式内存优化

  1. PHP CLI模式,持久进程,内存占用最小化,变量使用3步走
    <?php
    # 该方法适用的场景:变量定义、使用后,长期存在但不再使用
    # 创建$time
    $time = time();
    # 使用$time,创建$date
    $date = date('Y-m-d H:i:s', $time);
    # 释放$time
    unset($time);
    # 使用$date
    echo $date;
    # 释放$date
    unset($date);
    # 后续代码
    

CLI模式PHP信息获取

  1. php cli模式php详细信息获取(php --help 可见)
    php  --rf <function name>       # 查看方法信息
    php  --rc <class name>          # 查看类信息
    php  --re <extension name>      # 查看扩展信息
    php  --rz <extension name>      # 查看zend扩展信息
    php  --ri <extension name>      # 查看扩展配置信息
    

results matching ""

    No results matching ""