我正在尝试使用PHP连接到远程SFTP服务器。当我连接到本地 SFTP 帐户时,我的代码工作正常,但对于远程主机来说超时。我已经通过FTP客户端确保主机信息正确并且连接良好。
我正在使用phpseclib库,我的三行代码如下。
require_once("phpseclib/Net/SFTP.php");
$sftp = new Net_SFTP('remote_host_IP');
var_dump($sftp->login('<username>', '<password>'));
它返回 false(表示未连接(。
我做了什么
- 我已将脚本列入白名单mod_security以防万一它阻止了它。
- 我在本地计算机上尝试了相同的脚本,它已成功连接到远程SFTP。
请问有什么有价值的提示吗?
在
初始化Net_SFTP之前执行define('NET_SSH2_LOGGING', 2)
,然后在$sftp->login()
之后执行$sftp->getLog()
这将提供足够的信息,以便进行诊断。
这可能会帮助其他人。您需要确保远程服务器上TCP_OUT端口已打开才能使其正常工作。
感谢您的帮助!