我使用以下代码创建了一个ssh连接。
$connection = ssh2_connect($masterIp, 22);
// authenticating the remote server connection with credentials
ssh2_auth_password($connection, $user, $password);
// secure ftp connection to create directory if not exist
$sftp = ssh2_sftp($connection);
完成操作后,我需要关闭$ connection,$ sftp。 如何安全地关闭连接。我可以使用unset()函数吗?
答案 0 :(得分:3)
是的,未设置就足够了。
在PHP中,当资源超出范围或未设置时,它们会自动关闭(无论如何,它们都应该是,除非扩展符合标准PHP模型)。
(好吧,它只会被车库收集,因此当所有对资源的引用都被销毁时就会被关闭)
答案 1 :(得分:2)
SSH连接打开,直到关闭:
ssh2_exec($connection, 'exit;');
没有明确的ssh2_close
命令。
unset
也可能终止网络连接。至少在PHP进程结束时,连接应该自动关闭。
答案 2 :(得分:2)
如果要确保SSH会话已正确关闭,请考虑使用phpseclib, a pure PHP SSH implementation。它使用析构函数发送关闭数据包所需的所有SSH数据包,如果您不想使用具有$ ssh-> disconnect()的数据包。
也可以提供更多便携式代码。