Я работаю над сценарием PHP, который генерирует большой (multi-MB) вывод на лету, не зная заранее длины. Я пишу напрямую в php://output
через fwrite()
и пробовал как стандартный вывод, так и используя Transfer-Encoding: chunked
(кодирование блоков по мере необходимости), но независимо от того, что я пробую, браузер ждет, пока все данные не будут записаны, прежде чем отобразить диалог загрузки , Я также пытался flush()
использовать после заголовков и после каждого блока, но это также не имеет значения.
Я предполагаю, что Apache кеширует выходные данные, которые браузер обычно отображает после получения нескольких килобайт от сервера.
Кто-нибудь имеет какие-либо идеи о том, как остановить это кэширование и сбросить данные в браузер по мере их создания?
Спасибо,
J