命令的 phpseclib-SSH2 流结果?

phpseclib-SSH2 stream results from command?

我正在使用 phpseclib 通过 ssh 连接到远程设备并下载文件。 这有效,完成后会显示已下载的文件列表。

但是我希望它在下载时显示每个文件名。

我使用的代码是:

    $ssh = new Net_SSH2('192.168.0.1');
    if (!$ssh->login('user', 'password')) {
        exit('Login Failed');
    } 
    function output($str) {
        echo "$str";
    }


    $cmd = "getfiles";
    $res = $ssh->exec($cmd, "output"); 

如果我使用 putty 和 SSH 进入远程设备,然后 运行 getfiles 它会在处理每个文件名时在新行上显示它。

phpseclib 似乎只显示最终结果,而不是实时进度。

有什么办法让它显示实时进度吗?

谢谢

我通过按如下方式更新输出函数来完成这项工作。

function output($str) {
    flush();  ob_flush();
    echo "$str<br>";
}

现在输出显示在新行上。