牛牛在线工具

ssh2_fetch_stream()

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

ssh2_fetch_stream()

从SSH2会话中获取一个流

函数名称:ssh2_fetch_stream() 适用版本:PHP 5 >= 5.3.0, PECL ssh2 >= 0.10 函数描述:从SSH2会话中获取一个流 用法: resource ssh2_fetch_stream(resource $channel, int $streamid) 参数: $channel: SSH2通道资源,通过ssh2_shell()或ssh2_exec()函数打开。 $streamid: 流ID,标识要获取的流的类型。 返回值: 成功时返回一个流资源,失败时返回false。 示例: // 创建SSH2会话 $connection = ssh2_connect('example.com', 22); ssh2_auth_password($connection, 'username', 'password'); // 打开一个SSH2通道 $channel = ssh2_shell($connection, 'bash'); // 获取标准输出流 $stdout = ssh2_fetch_stream($channel, SSH2_STREAM_STDIO); // 写入命令到标准输入流 fwrite($stdout, 'ls -l' . PHP_EOL); // 读取命令输出 while ($line = fgets($stdout)) { echo $line; } // 关闭连接 fclose($stdout); ssh2_disconnect($connection); 上述示例中,我们首先通过ssh2_connect()函数建立到远程主机的SSH2连接。然后使用ssh2_auth_password()函数进行身份验证。 接下来,我们通过ssh2_shell()函数打开一个SSH2通道,将其作为参数传递给ssh2_fetch_stream()函数,以获取标准输出流。 使用fwrite()函数将命令写入标准输入流,然后通过fgets()函数读取命令的输出,并将其逐行打印出来。 最后,我们关闭流资源和SSH2连接,释放资源。 请注意,此示例仅用于演示目的。在实际应用中,建议使用更安全的身份验证方法,如公钥身份验证。