Выполнение программы в php - отображение и возврат вывода

В php есть несколько методов для выполнения команды shell:

  • system()
  • passthru()
  • shell_exec()
  • exec()

Первые два выводят вывод, но не возвращают его. Последние две возвращают вывод, но не отображают его.

Я хочу выполнить команду shell, которая требует много времени, но она отображает некоторый вывод, поэтому я знаю, что она не зависла. Однако в конце я хочу обработать этот вывод в php. Если я выберу одну из первых двух команд, я не получу вывод и не смогу обработать его в php. Если я запущу один из двух последних вариантов, я смогу обработать вывод, но моя программа будет висеть очень долго, не выводя ничего.

Есть ли способ запустить команду shell, которая выведет вывод немедленно и вернет его?

6
задан jere 27 February 2012 в 17:28
поделиться