我试图在PHP应用程序中使用SFTP连接,SFTP连接抛出无效大小错误,请任何人帮我解决这个问题。
$sftp = Yii::app()->phpseclib->createSFTP($ftp_server,8822);
if (!$sftp->login($ftp_username, $ftp_password)) { // Login failed
}
错误抛出:
2018/01/30 11:42:11 [error] [php] Invalid size (D:\xampp\htdocs\viahttps\protected\extensions\phpseclib\classes\Net\SSH2.php:2607)
Stack trace:
#0 D:\xampp\htdocs\viahttps\protected\extensions\phpseclib\classes\Net\SSH2.php(1720): Net_SFTP->_login_helper()
#1 unknown(0): Net_SFTP->_login()
#2 D:\xampp\htdocs\viahttps\protected\extensions\phpseclib\classes\Net\SFTP.php(405): call_user_func_array()
答案 0 :(得分:2)
您正在使用的包装是0.3.6
,而invalid size
的问题自0.3.5
以来一直存在,并且在发布后0.3.7
已修复,当时人们碰到了0.3.6
从phpseclib
升级时出错。见ISSUE
当前2.0.1
位于版本phpseclib
上,您可能需要查看您使用的包装器是否包含最新的phpseclib
源文件。
你需要寻找其他一些做同样事情的扩展。
从此URL
覆盖包装器使用的phpseclib
文件,并复制protected/extensions/phpseclib/classes
文件夹中的所有文件和文件夹,并将其粘贴到ngOnInit()
和如果文件存在,请替换复制或覆盖。
注意:由于版本存在巨大差距,因此封装器可能会在某处抛出错误或异常 这可能涉及修复升级后出现的错误 源类,或者不是。