Я просто экспериментирую с PHP и shell_exec на моем Linux-сервере. Это действительно классная функция для использования, и я до сих пор наслаждаюсь ею. Есть ли способ просмотра живого вывода, который выполняется во время выполнения команды?
Например, если был запущен ping stackoverflow.com, когда он пинговал целевой адрес, каждый раз, когда он пингует, показывайте результаты с помощью PHP? Возможно ли это?
Мне бы очень хотелось увидеть текущее обновление буфера при его запуске. Возможно, это невозможно, но это было бы неплохо.
Это код, который я пытаюсь, и каждый раз, когда я его пробовал, он всегда отображает результаты после завершения команды.
<?php
$cmd = 'ping -c 10 127.0.0.1';
$output = shell_exec($cmd);
echo "<pre>$output</pre>";
?>
Я попытался поместить часть echo в цикл, но все равно не повезло. У кого-нибудь есть предложения по поводу того, чтобы показать живое выступление на экране, а не ждать завершения команды?
Я пробовал exec, shell_exec, system и passthru. Каждый из них отображает контент после его завершения. Если я не использую неправильный синтаксис, или я неправильно настрою цикл.