Я пытаюсь использовать ранний сброс с php5 / apache2 для выполнения некоторого кода, рендеринга некоторого json и после этого выполнения другой части кода, которая занимает несколько секунд, но не дает никакого ответа.Основной код на данный момент:
@apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
echo 'Page loading'; // code to render;
ob_flush();
flush();
sleep(29); // LONG time code to execute
Предыдущий пример не работает.Я имею в виду, что он будет отображать «Загрузка страницы» через 29 секунд.Если я посмотрю на http ответ, который у меня есть:
(Status-Line) HTTP/1.1 200 OK
Date Mon, 04 Jul 2011 19:49:19 GMT
Server Apache/2.2.11 (Win32) mod_ssl/2.2.11 OpenSSL/0.9.8k PHP/5.3.0
X-Powered-By PHP/5.3.0
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma no-cache
Keep-Alive timeout=5, max=100
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html
Моя проблема не совсем, почему она не работает?но как я могу проверить, где моя строка буферизируется?Я знаю, что есть другой буфер: - php output_buffer, php zlib.buffer - apache mode_deflate / gzip - буферизация в браузере
Все выходные буферы php выключены, apache mode_deflate активирован, но, как вы можете видеть, кодировка передачи"кусочек".Я понятия не имею, как узнать, где моя проблема, я использую HttpFox, чтобы увидеть заголовок, и я пытаюсь получить содержимое HTTP-запроса, HttpFox говорит, что содержимое не готово, пока 29 секунд не будет сделано.
Любой совет?