The PHP Online Conference 2021

ssh2_disconnect

(PECL ssh2 >= 1.0)

ssh2_disconnectClose a connection to a remote SSH server

说明

ssh2_disconnect ( resource $session ) : bool

Close a connection to a remote SSH server.

参数

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

参见

add a note add a note

User Contributed Notes 2 notes

up
1
Cavallo
1 year ago
ssh2_disconnect(...) requires at least PHP 7 (as it requires PECL ssh2 >= 1.0, which the PECL documentation on https://pecl.php.net/package/ssh2 states: "ssh2 1.0 and above is PHP 7 only").

For PHP 5.x similar functionality, try setting the ssh2_connect session variable to null, or unsetting it completely - this should allow PHP's garbage collection close the connection.

Example:

$session=ssh2_connect(...); // open connection
// code here to use connection
$session = null; unset($session); // close connection
up
1
Anton Farber
1 month ago
This function worked fine as long as I didn't use any ssh2_sftp* stuff. As soon as I did, the connection (from my webserver to my browser) was closed without any warning/error in any of the logfiles. So, this won't work

<?php
// ssh2_connect and ssh2_auth etc...
$sftp = ssh2_sftp($connection);
ssh2_disconnect(); // Causes the connection to be reset
?>

while this works

<?php
// ssh2_connect and ssh2_auth etc...
$sftp = ssh2_sftp($connection);
$connection = null; unset($connection);
?>
To Top