牛牛在线工具

ssh2_shell()

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

ssh2_shell()

在SSH连接上打开一个shell会话

函数名称:ssh2_shell() 适用版本:PHP 5 >= 5.2.0, PHP 7, PECL ssh2 >= 0.10 函数说明:ssh2_shell()函数用于在SSH连接上打开一个shell会话。 用法: resource ssh2_shell ( resource $session [, string $term_type = "vanilla" [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] ) 参数说明: $session:SSH会话的资源句柄,通过ssh2_connect()函数获取。 $term_type:可选参数,指定shell会话的终端类型,默认为"vanilla"。 $env:可选参数,指定shell会话的环境变量。以关联数组的形式传递,键为环境变量名,值为环境变量的值。 $width:可选参数,指定shell会话的宽度,默认为80个字符。 $height:可选参数,指定shell会话的高度,默认为25个字符。 $width_height_type:可选参数,指定宽度和高度的单位类型,默认为SSH2_TERM_UNIT_CHARS,表示字符单位。 返回值:成功时返回一个资源句柄,用于与shell会话进行交互。失败时返回false。 示例: <?php $connection = ssh2_connect('example.com', 22); ssh2_auth_password($connection, 'username', 'password'); $shell = ssh2_shell($connection, 'vanilla', null, 80, 25, SSH2_TERM_UNIT_CHARS); if ($shell === false) { die('Failed to open shell'); } // 执行命令并获取输出 fwrite($shell, 'ls -l' . PHP_EOL); sleep(1); $output = ''; while ($line = fgets($shell)) { $output .= $line; } echo $output; fclose($shell); ?> 以上示例用于建立与远程服务器的SSH连接,并在该连接上打开一个shell会话。然后,通过fwrite()函数向shell会话发送命令,并使用fgets()函数逐行读取命令执行的输出。最后,关闭shell会话。请注意,示例中的用户名、密码和远程主机地址需要根据实际情况进行替换。