ssh2 закрытие соединения после первой команды - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть фрагмент кода, который запрашивает у пользователя команду, а затем устанавливает sh соединение с сервером и выводит результат. проблема в том, что если пользователь вводит команду cd / et c, он переходит в этот каталог, но если он затем вводит команду pwd, выводом является / root, что означает, что он закрыл первое соединение и установил новое соединение.

<code><?php
$ip= $_SESSION['ip'];
$user=$_SESSION['user'];
$pass=$_SESSION['pass'];
$connection = ssh2_connect($ip);
ssh2_auth_password($connection,$user,$pass);

if(isset($_POST['but_submit'])){
$input=$_POST['input'];
$stream = ssh2_exec($connection,$input);
$err_stream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
stream_set_blocking($stream,true);
stream_set_blocking($err_stream, true);
$output= stream_get_contents($stream);
$result_err = stream_get_contents($err_stream);
echo "<fieldset><pre>$output$result_err
";} else {echo 'Vendos nje komande';}?>
...