无效大小错误 - Phpseclib - SFTP 连接

Invalid Size error - Phpseclib - SFTP connection

我正在尝试在 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.3.6invalid size 的这个问题自 0.3.5 以来一直存在,并在人们遇到时发布后在 0.3.7 中得到修复从 0.3.6 升级时出现同样的错误。看到这个 ISSUE

目前 phpseclib 的版本是 2.0.1 您可能需要查看您使用的包装器是否有最新的 phpseclib 源文件或其他。

  1. 您需要寻找其他执行相同操作的扩展程序。

  2. 从这个 URL 覆盖包装器使用的 phpseclib 文件,复制 phpseclib 文件夹中的所有文件和文件夹并将它们粘贴到 protected/extensions/phpseclib/classes 并替换重复项或覆盖文件(如果文件存在)。

Note: there might be a possibility that the wrapper throws an error or exception somewhere as the version has a huge gap drastically so this might involve fixing the bugs that appear after upgrading the source classes, or maybe not.