Выход в реальном времени из SSH с PHP - PullRequest
0 голосов
/ 15 февраля 2012

Я пытаюсь написать, что по сути представляет собой интерактивную систему ssh с php, мне нужно, чтобы php выполнял команды на удаленном сервере с помощью ssh_exec или shell и собирал вывод команды в режиме реального времени.

Я возился с буферизацией вывода и flush () до тех пор, пока я не покраснел и не собираюсь заставить команду перенаправить свой вывод в файл, и у меня есть отдельный скрипт, который опрашивает содержимое этого файла с помощью sftp и использует jquery для обновления вывода div на странице.

Непосредственно перед тем, как я пойду по этому длинному маршруту, есть ли у кого-нибудь решение, которое работает с использованием одного сценария?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 15 февраля 2012

Нет такой вещи, которая надежно работала бы с одним скриптом: у вас мало контроля над буферизацией на стороне сервера - flush() может работать или не работать должным образом, в зависимости от того, используете ли вы mod_php, CGI, FCGI или что-то еще, и у вас нет абсолютно никакого контроля над буферизацией на клиенте (IE печально известен здесь).

Был там, сделал это, сделал это с AJAX.

0 голосов
/ 15 февраля 2012

Будет ли работать что-то вроде следующего?

$output = shell_exec($theScript);
file_put_contents($someFile, $output, FILE_APPEND);

Или у меня не тот конец палки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...