$ ansi-> getScreen (); - PHP Примечание: неопределенное смещение - PullRequest
0 голосов
/ 17 июня 2020

Я использую следующий код для взаимодействия с сеансом S SH. Все в порядке до последней строчки кода.

Я получаю хорошие снимки экрана на моей веб-странице до последнего метода getScreen (), когда он выдает следующие ошибки. Я скажу, что после моей последней команды окно сеансов s sh (по крайней мере, в замазке) переходит в своего рода живой режим, почти как хвостовая команда, и окно будет заполнять информацию по мере ее поступления в s sh сеанс. Кажется, это предопределенный размер?

В идеале, я хочу передать то, что попадает в это окно, в файл, это моя конечная цель, но сейчас было бы полезно просто показать это на экране .

PHP Notice:  Undefined offset: 79 in E:\jackwad\IIS\portal\File\ANSI.php on line 556
PHP Notice:  Trying to get property 'foreground' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 499
PHP Notice:  Trying to get property 'foreground' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 500
PHP Notice:  Trying to get property 'foreground' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 501
PHP Notice:  Trying to get property 'background' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 507
PHP Notice:  Trying to get property 'background' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 508
PHP Notice:  Trying to get property 'background' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 509
PHP Notice:  Trying to get property 'bold' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 515
PHP Notice:  Trying to get property 'underline' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 522
PHP Notice:  Trying to get property 'blink' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 529
PHP Notice:  Undefined offset: 79 in E:\jackwad\IIS\portal\File\ANSI.php on line 558
PHP Notice:  Trying to get property 'foreground' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 499
PHP Notice:  Trying to get property 'foreground' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 503
PHP Notice:  Trying to get property 'background' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 507
PHP Notice:  Trying to get property 'background' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 511
PHP Notice:  Trying to get property 'bold' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 515
PHP Notice:  Trying to get property 'underline' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 522
PHP Notice:  Trying to get property 'blink' of non-object in E:\jackwad\IIS\portal\File\ANSI.php on line 529

Мой код:

include('Net/SSH2.php');
include('File/ANSI.php');

$ssh = new Net_SSH2('1xx.xx.xx.xx');
if (!$ssh->login('xxxxx', 'xxxxxxxx')) {
    exit('Login Failed');
}

$ansi = new File_ANSI();

$ansi->appendString($ssh->read('username@username:~$'));
$ssh->write("\n");
$ssh->setTimeout(2);
$ansi->appendString($ssh->read());
echo $ansi->getScreen();

$ssh->write("sat\n");
$ssh->setTimeout(2);
$ansi->appendString($ssh->read());
echo $ansi->getScreen();

$ssh->write("W2KTT\n");
$ssh->setTimeout(2);
$ansi->appendString($ssh->read());
echo $ansi->getScreen();

$ssh->write("some text 102\n");
$ssh->setTimeout(5);
$ansi->appendString($ssh->read());
$ansi->getScreen(); //this is the problem line

ANSI. php

500 - function _getScreen()
501 - {
502 -     $output = '';
503 -     $last_attr = $this->base_attr_cell;
504 -     for ($i = 0; $i <= $this->max_y; $i++) {
505 -         for ($j = 0; $j <= $this->max_x; $j++) {
506 -             $cur_attr = $this->attrs[$i][$j];
507 -             $output.= $this->_processCoordinate($last_attr, $cur_attr, isset($this->screen[$i][$j]) ? $this->screen[$i][$j] : '');
508 -             $last_attr = $this->attrs[$i][$j];
509 -         }
510 -         $output.= "\r\n";
511 -     }
512 -     $output = substr($output, 0, -2);
513 -     // close any remaining open tags
514 -     $output.= $this->_processCoordinate($last_attr, $this->base_attr_cell, '');
515 -     return rtrim($output);
516 - }
...