Отображение информации оболочки в реальном времени в браузере - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь получить выходные данные команды, которые будут отображаться в браузере клиентов при выполнении фактической команды, пока она успешно завершает команду, а затем отображаются все соответствующие выходные данные. Однако, так как это может занять до 30 секунд, я бы хотел, чтобы текущий вывод, отображаемый на экране оболочки, передавался в реальном времени браузеру. Команда должна быть запущена нажатием кнопки.

Кнопка

<div class="inner"><form action="" method="post">
<button type="submit" name="button5">Update Game Server</button>
</form>

</div>

Код для запуска системной команды

<code><?php
if (isset($_POST['button5'])) {
chdir('/home/aname/steamcmd/');
echo '<br></br>';
echo '<pre>';
echo shell_exec ('./steamcmd.sh +logon aname apass +app_update validate +quit');
echo '
';}?>

Я видел похожие посты, где люди предлагали использовать passthru(), popen(), ob_flush() & flush(), однако, если я использую эти опции вместо system_exec(), они не обновляют страницу, они снова показывают только законченный вывод в браузере один раз за весь процесс завершен.

Я подозреваю, что способ реализации кнопки может быть больше проблемой, чем способ, которым команда фактически отправляется в систему, но не уверен, что попробовать.

Apache / 2.4.29, CentOS 7, версия PHP: 5.6.30

...