牛牛在线工具

ssh2_poll()

收录 8868 个 PHP 函数,含用途说明与用法示例。

ssh2_poll()

用于轮询SSH2连接上的I/O活动

函数名:ssh2_poll() 适用版本:PHP 5 >= 5.3.0, PECL ssh2 >= 0.10 函数描述:用于轮询SSH2连接上的I/O活动 语法:int ssh2_poll(resource $session, array &$streams, int $timeout) 参数: $session:SSH2会话资源,通过ssh2_connect()或ssh2_shell()等函数创建 $streams:一个包含要监测的流的数组,这些流可以是SSH2通道资源、SSH2监听资源或STDIO流 $timeout:超时时间(以毫秒为单位),如果设置为0,则立即返回 返回值: 成功时返回发生I/O事件的流的数量 失败时返回false 示例: // 创建SSH2会话 $connection = ssh2_connect('example.com', 22); ssh2_auth_password($connection, 'username', 'password'); // 打开一个SSH2通道 $channel = ssh2_shell($connection, 'vt102', null, 80, 40, SSH2_TERM_UNIT_CHARS); // 创建一个流数组,包含要监测的流 $streams = [ $channel, // SSH2通道资源 STDOUT, // 标准输出流 ]; // 轮询I/O活动,设置超时时间为2秒 $result = ssh2_poll($connection, $streams, 2000); if ($result === false) { echo "轮询失败!"; } else { echo "发生I/O事件的流数量:" . $result; } 在上面的示例中,我们首先创建了一个SSH2会话,然后通过ssh2_connect()函数连接到远程主机。接下来,我们使用ssh2_auth_password()函数进行身份验证。 然后,我们使用ssh2_shell()函数打开一个SSH2通道,并指定终端类型为"vt102"。我们还指定了终端的宽度和高度。 接着,我们创建了一个包含要监测的流的数组$streams。此数组包含SSH2通道资源和标准输出流。 最后,我们使用ssh2_poll()函数轮询SSH2连接上的I/O活动。我们将超时时间设置为2秒(2000毫秒)。函数返回发生I/O事件的流的数量。 请注意,示例中的连接和身份验证部分是简化的示例,你需要根据实际情况进行修改。同时,你还可以根据需要将更多的流添加到$streams数组中。