Прямо сейчас у меня есть код следующим образом.Показать вывод, полученный из shell_exec, и отобразить его в режиме реального времени, а не после ожидания 5-7 минут
$output = shell_exec(!-- unix commands are here --!);
echo $output;
У меня есть веб-сайт, на котором после нажатия на определенную кнопку выводится сценарий оболочки и отображается в браузере. Это прекрасно работает. Единственная проблема заключается в том, что я не могу видеть, что происходит с выходом до его завершения. Мне нужно подождать около 5-7 минут, а затем я вижу около ста строк вывода. Я пытаюсь вывести вывод в браузер по мере выполнения вывода - я хочу видеть, как результат происходит в реальном времени (в браузере).
Я пытался использовать popen
, proc_open
, flush()
, ob_start
и т.д. Кажется, ничего не работает. Я просто попытался открыть текстовый файл, записать содержимое вывода в текстовый файл и постепенно почитать текстовый файл в цикле. Я новичок php, поэтому вполне возможно, что я не использовал какой-либо из вышеперечисленных методов.
Каков самый простой способ выполнить это?
Существует не менее двух мест, где данные могут зависеть от буферизации - PHP для клиента и команды для PHP. Я уверен, что несколько минут с руководством по PHP могут показать правильный ответ для части PHP для клиентов, но вам также может понадобиться сделать что-то для команды для части PHP. Какие команды конкретно вы пытаетесь использовать? – sarnold