У меня есть объект для задач, и в __deconstruct () он предназначен для запуска некоторых более длинных задач очистки после загрузки остальной части страницы.К сожалению, он буферизует вывод и не отправит его до тех пор, пока задачи не будут завершены (в заданиях ничего не напечатано).
Я прочитал http://www.php.net/flush и перепробовал все предложения там,Очевидно, я пытался отключить output_buffering в php.ini.Я отключил deflate_module, сжатие zlib отключено, нет mod_gzip.Вызов flush () или ob_flush () не имеет никакого эффекта, равно как и включение implicit_flush.
Я просто запускаю XAMPP (в настоящее время apache 2.2.17, php 5.3.4) под Windows Server 2008 R2.PHP запускается как модуль.
И да, я мог бы установить небольшой хак AJAX для запуска диспетчера задач или даже настроить запланированное задание для выполнения этой конкретной задачи, но буферизация вывода была проблемойв другом месте тоже.Хотелось бы, чтобы его иногда не было.
Из аналогичной темы кто-то предложил посмотреть, что будет делать следующее:
<?php
while (TRUE)
{
echo 'x';
flush();
sleep(1);
}
?>
Как и ожидалось, на странице ничего не отображается до максимального времени выполнениядостигается, в этот момент он очищает буфер.
Это стало чрезвычайно неприятно.У кого-нибудь есть идеи, что еще может быть причиной его буферизации?