【发布时间】:2018-03-07 00:55:41
【问题描述】:
我正在使用 phpseclib 访问我的 SSH 屏幕。它与下面的代码配合得很好,除了我不能显示超过 17 行(40 行会很好)。 我尝试了不同的方法,例如更改 File/ANSI.php 文件中的定义,但没有成功。
可以用 phpseclib 文件完成,还是我必须在我的 (linux/debian) 服务器上修改它?
我的文件:
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include('Net/SSH2.php');
include('File/ANSI.php');
$ssh = new Net_SSH2('111.222.33.44');
if (!$ssh->login('user', 'passwd')) {
exit('Login Failed');
}
$ansi = new File_ANSI();
$ssh->write("screen -r 27015\n");
$ssh->setTimeout(1);
$ansi->appendString($ssh->read());
echo $ansi->getScreen(); // outputs HTML
?>
【问题讨论】:
-
你只试过这个
echo $ssh->read() -
空白页。代码很好,运行良好,它来自:phpseclib.sourceforge.net/ssh/examples.html。我只想显示更多行。
-
可能你错过了这行
$ansi->appendString($ssh->read('username@username:~$')); -
不幸的是,这一行的结果相同。
-
延长你的超时选项 ;)