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

Поэтому я пишу одноразовый скрипт для своего личного использования, и я хочу видеть, как этот процесс идет. В основном я обрабатываю несколько тысяч релизов и отправляю их в нашу новую CMS.

Поэтому я не забиваю CMS, я делаю скрипт sleep на пару секунд после каждых 5 запросов.

Я бы хотел, чтобы скрипт выполнял, чтобы увидеть, как мое echo сообщение говорит мне, что сценарий будет спать или что последняя транзакция с веб-сервисом прошла успешно.

Возможно ли это в PHP?

Спасибо за вашу помощь!

Iain

Solutions Collecting From Web of "Есть ли способ заставить PHP постепенно выводиться по мере выполнения скрипта?"

Используйте ob_flush для отправки любых данных в буфер. Таким образом, вы можете выполнить некоторые команды, очистить вывод и затем немного спящий, прежде чем обрабатывать больше команд.

Я замечаю, что на особенно длинных сценариях PHP, похоже, начинает отправлять то, что у него есть в буфере, даже если скрипт не закончил выполнение

По умолчанию PHP никогда не будет эхом ничего, пока весь скрипт не завершит выполнение. Это просто ваш браузер, пытающийся вывести слишком много данных за один раз, или у вас есть что-то, что заставляет его где-то скрываться.

Вы можете попробовать использовать флеш и посмотреть другие функции управления выходом , но они могут быть бесполезны. Программное обеспечение вашего веб-сервера может задерживать ответ независимо от него.

Вот пакет PHP, который его обертывает:

https://packagist.org/packages/coderofsalvation/browser-stream

  BrowserStream::enable(); BrowserStream::put("loading"); for( $i = 0; $i < 10; $i++ ){ BrowserStream::put("."); sleep(1); } 

Возможно, вам захочется изучить команды flush http://php.net/manual/en/function.flush.php