ssh2_disconnect

(PECL ssh2 >= 1.0)

ssh2_disconnect关闭与远程 SSH 服务器的连接

描述

ssh2_disconnect(resource $session): bool

关闭与远程 SSH 服务器的连接。

参数

session

一个 SSH 连接链接标识符,从 ssh2_connect() 调用中获得。

返回值

成功时返回 true,失败时返回 false

参见

添加笔记

用户贡献的笔记 3 个笔记

4
Cavallo
5 年前
ssh2_disconnect(...) 至少需要 PHP 7(因为它需要 PECL ssh2 >= 1.0,PECL 文档在 https://pecl.php.net/package/ssh2 上声明:"ssh2 1.0 及以上版本仅适用于 PHP 7")。

对于 PHP 5.x,尝试将 ssh2_connect 会话变量设置为 null,或完全取消设置它 - 这应该允许 PHP 的垃圾收集关闭连接。

示例

$session=ssh2_connect(...); // 打开连接
// 此处代码用于使用连接
$session = null; unset($session); // 关闭连接
1
Anton Farber
3 年前
只要我不使用任何 ssh2_sftp* 内容,此函数就运行良好。当我使用时,连接(从我的 Web 服务器到我的浏览器)在没有任何警告/错误的情况下在任何日志文件中关闭。所以,这不起作用

<?php
// ssh2_connect 和 ssh2_auth 等...
$sftp = ssh2_sftp($connection);
ssh2_disconnect(); // 导致连接重置
?>

而这有效

<?php
// ssh2_connect 和 ssh2_auth 等...
$sftp = ssh2_sftp($connection);
$connection = null; unset($connection);
?>
0
Peter Roes
1 年前
如果您从 ssh 连接派生 sftp 连接,则在使用 ssh2_dissconnect 关闭 ssh 连接之前,必须关闭 sftp 连接。换句话说

<?php
$ssh_con
=ssh2_connect($sftp_server);
ssh2_auth_password($ssh_con, $sftp_user, $sftp_pass);
$scp_con=ssh2_sftp($ssh_con);

# 使用 $scp_con 做一些事情

ssh2_disconnect($scp_con);
ssh2_disconnect($ssh_con);
?>
To Top