我有一个脚本,它与服务器建立SSH连接(这很好).现在我想执行一个命令并回显我从这个命令得到的结果.
所以我这样做:
$stream = ssh2_exec($conn, 'php -v');
Run Code Online (Sandbox Code Playgroud)
但我不能让它显示回应,var_dump返回resource(3) of type (stream).
我试过用:
$stream = ssh2_exec($conn, 'php -v');
$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
Run Code Online (Sandbox Code Playgroud)
但是$stream_out返回一个空字符串.
那么可以根据脚本打印响应吗?
acr*_*bat 41
好的,我找到了解决方案,所以我发布它以备将来参考
因此,要输出ssh2_exec执行的命令的结果,您应该使用以下代码设置
$stream = ssh2_exec($conn, 'php -v');
stream_set_blocking($stream, true);
$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);
echo stream_get_contents($stream_out);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23253 次 |
| 最近记录: |