2016-11-04 3 views
0

Я бег команды, как, например:Захвата выход Баша в режиме реального времени с PHP Exec()

exec("grunt build --target=prod", $output, $status); 

Это просто работает хрюкать в папке и строит его. Выход записывается без проблем. Тем не менее, все это сбрасывается в конце, а сборка ворчания может занять немного времени.

Я хотел бы знать, смогу ли я захватить вывод так, как он есть, и быть в состоянии повторить его в реальном времени.

Любая идея, если это вещь?

+1

http://stackoverflow.com/questions/1281140/run-process-with-realtime-output-in-php – AbraCadaver

ответ

0

Вы должны использовать system() вместо так что вы можете захватить вывод команды вы запустить ...

Если назначить вызов переменной вы получите последнюю строку вывода, вы» также будете получать весь вывод, см:

$lastLine = system("grunt build --target=prod", $output); 
print_r($output); // to get entire output 

Наряду с output_buffering вы можете очистить выходной одну строку за один раз.