ob_flush не работает на новой конфигурации apache

Я недавно мигрировал из Amazon Эластичный бобовый стебель на мой собственный сервер Ubuntu 14.04 LTS. Все перенесено гладко, кроме одной страницы, которая использует ob_flush и приступает к обработке. Вот этот блок кода:

 <?php
//put string of page ----> $string
ob_end_clean();
header("Connection: close");
ignore_user_abort(true); // optional
ob_start();
echo ($string);
$size = ob_get_length();
header("Content-Length: $size");
ob_end_flush(); // Strange behaviour, will not work
flush();            // Unless both are called !
session_write_close(); // Added a line suggested in the comment
// Do processing here
sleep(10);
//do stuff
echo "something";

Я ожидаю, что содержимое $ string будет напечатано, вместо содержимого $ string, а затем что-то напечатано. В этом фрагменте «что-то» все равно будет напечатано. Я отключил mod_pagespeed (который в настоящее время включен) и убедился, что gzip и выходной буфер были отключены.

Вот мой php.ini файл (у меня есть вне сайта, потому что он не ограничен и, возможно, не имеет отношения к вопросу). У меня также есть подозрение, что это может быть связано с моим файлом конфигурации Apache, который вы можете увидеть Вот. Наконец, если это как-то связано с моей проблемой, вот ссылка к моей конфигурации скорости страниц. Когда я вызываю функцию, журнал ошибок не показывает ошибок, кроме того, у меня есть root-доступ к серверу. Спасибо, что помогли мне решить эту проблему!

Джейк Сильвестр

1

Решение

Я думаю, что вы путаете ob_get_contents и смотрите ob_end_flush: http://php.net/manual/en/function.ob-start.php.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]