运行后,请问该如何把Resource id #17给解析出来

如运行
$cmd = "export; /usr/bin/sudo /sbin/vgdisplay";
$info = popen($cmd,'r');
echo $info;

得出的是Resource id #17
就是用php的popen()函数运行了一个linux命令,把这个命令得到的结果$info输出出来是Resource id #17,如何把Resource id #17给解析出来。在linux里运行这个命令显示的是
--- Volume group ---
VG Name localhost
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 232.64 GB
PE Size 4.00 MB
Total PE 59557
Alloc PE / Size 59557 / 232.64 GB
Free PE / Size 0 / 0
VG UUID xhGwsx-3SDn-2mgR-XBrE-Nwtt-uJDM-lW7MB1

一只甜甜圈
浏览 213回答 3
3回答

MM们

PHP 中的 popen() 函数popen() 函数打开进程文件指针。popen(command,mode)参数说明command 必需。规定要执行的命令。mode 必需。规定连接模式。 可能的值:r: 只读。w: 只写 (打开并清空已有文件或创建一个新文件)打开一个指向进程的管道,该进程由派生指定的 command 命令执行而产生。返回一个和 fopen() 所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose() 来关闭。此指针可以用于 fgets(),fgetss() 和 fwrite()。若出错,则返回 false。例如:<?php$file = popen("/bin/ls","r");//一些要执行的代码pclose($file);?>

杨__羊羊

1、执行外部程序。语法: string exec(string command, string [array], int [return_var]);返回值: 字符串函数种类: 操作系统与环境内容说明本函数执行输入 command 的外部程序或外部指令。它的返回字符串只是外部程序执行后返回的最后一行;若需要完整的返回字符串,可以使用 PassThru() 这个函数。要是参数 array 存在,command 会将 array 加到参数中执行,若不欲 array 被处理,可以在执行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二个参数都存在,则执行 command 之后的状态会填入 return_var 中。值的注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用 EscapeShellCmd()。相关函数:system() PassThru() popen() EscapeShellCmd()

斯蒂芬大帝

proc_open 用这个也可,<?php$handle = popen("tail -f /etc/httpd/logs/access.log 2>&1", 'r');while(!feof($handle)) {$buffer = fgets($handle);echo "$buffer<br/>\n";ob_flush();flush();}pclose($handle);?>
打开App,查看更多内容
随时随地看视频慕课网APP