Получение SSH-вывода "как это происходит" через PHP?

Я использовал библиотеки, такие как Fabric (Python) для выполнения различных задач на удаленном сервере. Когда я запускаю задачи через эту библиотеку, я получаю вывод с удаленного сервера, когда действия происходят. Например, если задача выполняет git pull на сервере, я получаю вывод строки по строке, как это происходит.

Однако, когда я смотрю на различные PHP SSH-библиотеки и расширение SSH2. Кажется, есть только способ получить ВСЕ выход из команды после того, как она уже произошла, в одной длинной строке. Я хочу, чтобы с момента запуска выполнялась работа с удаленным сервером. Это возможно? В псевдокоде это то, что я ищу:

Server::run('git pull origin master', function($output)
{
     echo $output.PHP_EOL;
});

Ответ 1

Получил эту работу. Вы можете просто прочитать поток, возвращаемый ssh2_exec, используя fgets в цикле.