2013-12-24 3 views
1
<?php 
header("X-Accel-Buffering: no"); 
header('Content-Encoding: none;'); 
//and yet other headers 

ob_end_flush(); 
flush(); 
sleep(1); 

echo time().PHP_EOL; 
flush(); 
sleep(2); 
echo time().PHP_EOL; 

Так что, когда я использую Apache + PHP и отключить буферизацию в Apache и PHP, и получить страницу этого scipt, я буду видеть в поджигатель, что время ожидания ответа составляет около 0 (используется локальный хост)Как отправить сразу заголовки

но, если так же с nginx с php-fpm, я увижу, что время ожидания ответа составляет около 1 секунды.

Итак, nginx (или php-fpm) не хочет сразу отправлять заголовки. Зачем? как я могу выполнить свою задачу?

PS по разным форумам

Nginx конф - proxy_buffering выкл; fastcgi_max_temp_file_size 0; fastcgi_keep_conn on; gzip off;

PHP конф output_buffering = Off

+0

Мы видим, что вы отметили nginx, но вы уже несколько раз заявляли Apache. Пожалуйста, уточните свой вопрос, это об Apache или Nginx? – Diemuzi

+0

Nginx !! (apache вроде пример, что работает, но nginx не работает так, как я хочу, поэтому вопрос о nginx) – user3032727

ответ

0

Заголовок X-Accel-Buffering: no не влияет fastcgi_buffering до > = Nginx-1.5.6. Вероятно, это причина ваших проблем, потому что буферы fastcgi по умолчанию - 4-8k и используются в настройке nginx + php-fpm.

Смежные вопросы