SSH2返回“类型(流)的资源(2)”(PHP)

时间:2012-05-17 18:14:09

标签: php ssh libssh2

我正在尝试使用ssh2函数从具有PHP ssh2_exec库的远程服务器运行SSH命令。<​​/ p>

而不是得到我想要的东西从SSH返回给我,我得到了这个:

resource(2) of type (stream)

如果重要,2有时会3

以下是我尝试使用的代码:

<?php

$connection = ssh2_connect('ssh.example.com', 22);

ssh2_auth_password($connection, 'root', 'password');

if($output = ssh2_exec($connection, 'uptime')) {

    var_dump($output);

}

工作解决方案

<?php

$connection = ssh2_connect('ssh.example.com', 22);

ssh2_auth_password($connection, 'root', 'password');

if($output = ssh2_exec($connection, 'uptime')) {

    stream_set_blocking($output, true);

    echo stream_get_contents($output);

}

1 个答案:

答案 0 :(得分:4)

阅读the documentation

  

返回值

     

成功时返回流,失败时返回FALSE。

stream是一个类似文件的对象。您可以使用stream functionsfread等文件句柄函数从中获取数据。

E.g。

$string = stream_get_contents($stream);

$line = stream_get_line($stream);

$fivebytes = fread($stream, 5);