【问题标题】:PHP Using ssh2_shell() with socket_select()PHP 使用 ssh2_shell() 和 socket_select()
【发布时间】:2011-06-24 21:46:44
【问题描述】:

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

例如:

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

我可以通过以下方式读取流:

$content=stream_get_contents($stream);

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

这可能吗?

【问题讨论】:

    标签: php sockets ssh


    【解决方案1】:

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

    但在 PHP 中,在 ssh 层之上还有一个附加层 - 流 - 您可以在一组流上使用 stream_select()(其中可以包含 ssh 以外的内容)

    【讨论】:

    • 我想同时监控 ssh 流和一个套接字 - 如果其中一个发生变化,就做点什么。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 2011-02-05
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 2011-10-16
      相关资源
      最近更新 更多