php cli模式
作者QQ:67065435 QQ群:821635552
本站内容全部为作者原创,转载请注明出处!
CLI模式获取参数、选项
交互传参:
<?php //请求输入参数 fwrite(STDOUT, "请输入名字:"); //获得输入参数 $name = trim(fgets(STDIN)); //输出获得参数 fwrite(STDOUT, "你好, $name !");
命令行:
php 文件名 回车 请输入名字: Jane Eyre 回车 你好,Jane Eyre!
直接传参:(仅在 register_argc_argv 打开时可用)
<?php print_r($argv); echo $argc;
命令行:
php 文件名 参数1 参数2 回车 array( '0'=>'文件名', '1'=>'参数1', '2'=>'参数2' ) 3
参数传参:(仅在 register_argc_argv 打开时可用)
<?php /** * cli.php * 后面跟随0个':'的字符,传不传值都不接收值(无值参数) * 后面跟随1个':'的字符,传不传值都会接收值(传值参数) * 后面跟随2个':'的字符,可以传值可以不传值(可选参数) * 注意: 必填参数不给值的话,会将后续参数做为参数的值 * 如下: 可以通过 -a -b=112 -c=113 传入参数 * 如下: 可以通过 --key1 --key2=112 --key3=113 传入参数 */ $str = "a" . "b:" . "c::"; $arr = array( "key1", "key2:", "key3::", ); $options = getopt($str, $arr); print_r($options);
命令行:
//单字符可以使用''、' '、'='传参 php cli.php -a -b112 -c113 回车 php cli.php -a -b 112 -c 113 回车 php cli.php -a -b=112 -c=113 回车 //多字符可以使用' '、'='传参,可选参数必须用'='传参 php cli.php --key1 --key2 112 --key3=113 回车 php cli.php --key1 --key2=112 --key3=113 回车 //单字符、多字符中传入参数的值,都可以用引号括起来,但单字符可选参数与值之间不能有' ' php cli.php -a -b'112' -c'113' 回车 php cli.php -a -b '112' -c'113' 回车 php cli.php -a -b='112' -c='113' 回车 php cli.php --key1 --key2 '112' --key3='113' 回车 php cli.php --key1 --key2='112' --key3='113' 回车
CLI模式输出控制
CLI模式输出样式控制
<?php # 举例 echo "\33[1;5;32;49m一段文字\33[0m", PHP_EOL; # 说明1 # '样式修饰符' 修饰的是后文的样式 # '样式修饰符' 的格式为:\33[样式修饰码m # '样式修饰码' 的格式为:数字;数字;数字;数字 # 说明2 # 样式修饰码列表: # 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模式内存优化
- 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信息获取
- 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> # 查看扩展配置信息