0

我是 ssh2 的 PHP 新手,需要一些帮助。

我正在尝试逐行回显 php ssh2 输出流

if($ssh = ssh2_connect('127.0.0.1', 22)) {
    if(ssh2_auth_password($ssh, 'root', 'password')) {
        $stream = ssh2_exec($ssh, 'ifconfig');
        stream_set_blocking($stream, true);
        $data = '';
        while($buffer = fread($stream, 4096)) {
            $data .= $buffer;
        }
        fclose($stream);
        echo $data; // user
    }
}

但是输出没有逐行显示。我该怎么做才能像 ssh 一样逐行获取输出?

4

1 回答 1

0

使用fgets(). 它将读取缓冲的行:

while($line = fgets($stream)) {
    echo $line;
}
于 2013-09-22T17:28:05.403 回答