PHP使用带有socket_select()的ssh2_shell()

时间:2011-06-23 08:51:19

标签: php sockets ssh

我正在使用php打开一个ssh会话。

e.g:

$stream = ssh2_shell($connection, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);

我可以用以下内容阅读流:

$content=stream_get_contents($stream);

为了监视流,我想将它连接到套接字。 这样我就可以使用socket_select()

这甚至可能吗?

2 个答案:

答案 0 :(得分:1)

否 - ssh是套接字顶层的协议层 - 你不能在层之间注入代码)但socket_select在套接字层运行。

但是在PHP中,ssh层上还有一个额外的层 - 流 - 你可以在一组流上使用stream_select()(可以包含除ssh之外的其他内容)

答案 1 :(得分:1)

您可以使用phpseclib, a pure PHP SSH implementation,然后执行stream_select($ ssh-> fsock)或socket_select($ ssh-> fsock)。