php cli模式

  1. 方式1:
     //请求输入参数
     fwrite(STDOUT, "请输入名字:");
     //获得输入参数
     $name = trim(fgets(STDIN));
     //输出获得参数
     fwrite(STDOUT, "你好, $name !");
    
    命令行:
     php 文件名 回车
     请输入名字:
     Jane Eyre 回车
     你好,Jane Eyre!
    
  2. 方式2:
     echo "<pre>";
     print_r($argv);
     echo $argc;
    
    命令行:
     php 文件名 参数1 参数2 回车
     array(
         '0'=>'文件名',
         '1'=>'参数1',
         '2'=>'参数2'
     )
     3
    
  3. 方式3:(仅在 register_argc_argv 打开时可用)

     /*
      *$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
     )
    
  4. PHP CLI模式,持久进程,内存占用最小化,变量使用3步走

     # 该方法适用的场景:变量定义、使用后,长期存在但不再使用
     # 创建$time
     $time = time();
    
     # 使用$time,创建$date
     $date = date('Y-m-d H:i:s', $time);
    
     # 释放$time
     unset($time);
    
     # 使用$date
     echo $date;
    
     # 释放$date
     unset($date);
    
     # 后续代码
    
  5. 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 ""