某些SFTP凭据适用于以下开源,但有些凭据会丢失以下错误。以下错误的根本原因是什么,我看到他们发布了一些线程,但是这些解决方案对我没用。
为什么我会遇到错误,解决方案是什么。
开源:phpseclib 错误:Bellow Error
Warning: unpack() [function.unpack]: Type C: not enough input, need 1, have 0 in \Net\SSH2.php on line 1469
Warning: extract() expects parameter 1 to be array, boolean given in \Net\SSH2.php on line 1469
https://github.com/phpseclib/phpseclib/blob/master/phpseclib/Net/SSH2.php#L1538
答案 0 :(得分:0)
你的1469号线上有什么?您链接的版本在第1469行显示:
while ($this->decrypt_block_size > strlen($iv)) {
您的链接是第1538行,即:
break;
如果你可以在前后发布三条线,那就太好了。
谢谢!
答案 1 :(得分:0)
我知道这是一个较旧的问题并且它被评级低,但我实际上遇到了同样的错误。它间歇性地发生,所以很难排除故障。我的错误是引用 \ Net \ SSH2.php 的第2127行。这是该行,加上一些周围的行:
2121 $response = $this->_get_binary_packet();
2122 if ($response === false) {
2123 user_error('Connection closed by server');
2124 return false;
2125 }
2127 extract(unpack('Ctype', $this->_string_shift($response, 1)));
2129 switch ($type) {
2130 case NET_SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ: // in theory, the password can be changed
2131 if (defined('NET_SSH2_LOGGING')) {
这是我在登录后用于将文件从外部服务器复制到我自己的语法:
$sftp->get('/remote/file/path/file.csv', 'myfile.csv');
这是指向页面的链接:https://files.maf.org/mp/forms/ChangePL.php
实际上,该页面无法直接访问,但通过https://www.maf.org/change
在iframe内部访问我会说我在去直接链接时从未产生错误;只能通过iframe从父页面访问它。为什么会这样?