phpseclib无法请求伪终端(SFTP)

时间:2013-02-07 13:08:07

标签: php phpseclib

include('Net/SFTP.php');

$sftp = new Net_SFTP($ftp_server,225);
if(!$sftp->login($ftp_user, $ftp_pass)){
 print_r($sftp->getErrors());
 exit('Login Failed');
}

我总是得到:

Notice: Unable to request pseudo-terminal in /www/asizi/lib/phpseclib/Net/SSH2.php on line 2239 
Notice: Connection closed prematurely in /www/asizi/lib/phpseclib/Net/SSH2.php on line 2347 
Array ( )
Login Failed

我的登录是正确的,如果我做错了我只会:“登录失败”,没有错误/警告

phpseclib版本:0.3.1

我无法通过$sftp->login();

我哪里出错了?

2 个答案:

答案 0 :(得分:1)

SSH日志说什么?以下是如何获取它们的示例:

http://phpseclib.sourceforge.net/ssh/examples.html#logging

请注意define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);echo $ssh->getLog();行。

谢谢!

答案 1 :(得分:0)

对我来说,发生此错误是因为我在execread会话之间调用write

模拟交互式终端会话时,您不能调用exec。