У меня есть сценарий, который использовался для работы в PHP5.3 для обработки буферизации для определенного файла журнала, но после того, как сервер был обновлен до PHP5.5, он больше не работает. Выход должен быть html, поэтому я надеялся просто сбросить выходные данные после каждого эха.PHP потоковая/выходная буферизация больше не работает
Это тестовая версия урезанной коды, который используется для работы ...
@apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); $i++) { ob_end_flush(); }
ob_implicit_flush(1);
set_time_limit(0);
echo 'Start ...<br />';
for($i = 0 ; $i < 10 ; $i++)
{
echo $i . '<br />';
flush();
ob_flush();
sleep(1);
}
echo 'End<br />';
Я подозреваю, что команды @ini_set не наиважнейшие настройки, и я просто надеясь на простой пример, который будет очищать выходные буферы. Большинство примеров онлайн - от 6 лет назад, и никто из них не работал. Я прочитал, что буферизация была переписана на PHP5.4, поэтому я задаюсь вопросом, не виноват ли это и в этом.
Принимаете ли вы внимание, что некоторым браузерам необходимо увидеть как минимум 1024 байта вывода, прежде чем они что-нибудь отправят? Покраснели или нет? – dgig