Суть такова. Есть два сервера, вот их версии:
1. PHP 5.4.45 (cli) (built: Jun 17 2016 17:55:12)
2. PHP 5.5.30-1~dotdeb+7.1 (cli) (built: Oct 1 2015 17:38:39)
Есть php-код:
header("HTTP/1.1 200 OK");
header("Connection: close");
ob_start();
echo __FILE__."<br>";
$size = ob_get_length();
header("Content-Length: $size");
sleep(2);
ob_end_flush();
flush();
sleep(2);
phpinfo();
который служит просто для проверки одного механизма работы. Он заключается в том, что нужно сначала отправить клиенту, вызывающему обработку этого кода, ответ 200 и закрыть соединение, а потом сделать что-либо еще. Это требуется для работы с одним из интернет-сервисов, у которого время на вебхук ограничено 5 секундами, иначе он разрывает соединение по таймауту и через какое-то время пробует повторить вебхук (запрос).
.htaccess выглядит так:
<IfModule mod_php5.c>
# disable compressing
php_flag zlib.output_compression off
SetEnv no-gzip 1
</IfModule>
<FilesMatch \.php$>
SetEnv no-gzip 1
</FilesMatch>
<IfModule mod_deflate.c>
RemoveOutputFilter DEFLATE html txt xml css js php
</IfModule>
Options -Indexes
В общем влупил все, что смог найти в интернете.
Так вот на сервере 2 все происходит так, как и требуется, если судить по логу в отладчике Хрома:
https://yadi.sk/i/r_TWWuUEvrTff
А на первом сервере такая картина
https://yadi.sk/i/2Xa65xO7vrTeS
то есть никакой отдачи содержимого в середине скрипта не случается. В чем может быть проблема и куда бежать, что отключить или включить?