Я просто экспериментирую с 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
. Каждый из них отображает контент после его завершения. Если я не использую неправильный синтаксис, или я неправильно настрою цикл.