Laravel не может выполнить несколько команд ssh?

Мне нужно подключиться к ssh и выполнить две разные команды одну за другой.

В документах Laraver я вижу, что можно передать массив с командами в SSH::run() и, конечно же, я попробовал это сделать.

Но по очень интересной причине он завершается ошибкой с сообщением «Неопределенное смещение: 1».

Выполнение SSH::run() два раза подряд создает два соединения, и это тоже может быть проблемой.

Любая идея, что может быть проблемой?

Это указывает на меня здесь как на точку отказа:

.../vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php

2988 $this->window_size_server_to_client[$channel]-= strlen($response);

p.s. я также пытался соединить команды в одну строку с помощью && и т. д., но снова с той же ошибкой.


person Community    schedule 03.11.2014    source источник
comment
Я думаю, что это ошибка PHP 5.6.1: github.com/phpseclib/phpseclib/issues/491   -  person neubert    schedule 10.11.2014


Ответы (2)


Я не упомянул, что я подключался к ssh-серверу, который находится на машине Windows PowerShell. Итак, && (хотя и упомянутое где-то в документах) и `n не работали как новая строка, новая команда...

Но ";" делал.

Я сделал это..

person Community    schedule 03.11.2014

Не проверено, но это должно работать:

SSH::run($commands1, function($line1)
{
   SSH::run($commands2, function($line2)
   {
   });
});
person itsazzad    schedule 14.08.2015