我不确定这是否是我做错了什么,或者服务器是否只是不支持phpseclib之类的,但我试图连接到一个只能接受安全FTP连接的FTP服务器,而且只能从某些IP地址连接。现在,我知道FTP服务器接受来自我的VPS服务器的连接,因为我已经通过SSH远程连接到VPS,并通过命令行手动连接到FTP服务器。
然而,当我使用phpseclib尝试下面的内容时,它总是点击退出点。
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include 'Net/SFTP.php';
$sftp = new NET_SFTP('***');
if(!$sftp->login('***', '***')) {
$sftp->getSFTPErrors();
exit('Login Failed'); // <-- Code always gets to this point
}
echo $sftp->pwd();
我不知道如何开始调试这个问题。我也有在他们的论坛上提出一个问题来寻求帮助。我尝试使用define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);
启用日志记录,然后在出口上方输出echo $sftp->getSFTPLog();
,但这没有输出任何内容。
在页面上,我只有Login Failed
,所以我不会从$sftp->getSFTPErrors();
那里得到任何错误。
我对在PHP中使用安全的FTP连接完全陌生,不知道我做错了什么。谁能帮我调试一下这个问题吗?
发布于 2013-08-13 12:47:09
从你使用它的方式来看,很明显你没有看到任何错误。$sftp->getLastSFTPError()
返回一个字符串,$sftp->getSFTPErrors()
返回一个数组,这就是您必须回显的内容,以查看出了什么问题。
试一试
print_r($sftp->getSFTPErrors());
https://stackoverflow.com/questions/18209392
复制相似问题