При включенной директиве "zlib.output_compression", скачка длится бесконечное число времени при использовании метода CHttpRequest::sendFile().
Причина в заголовке Content-Length, который посылается 705 строкой файла CHttpRequest.php
Выдается длина тела заведомо большая чем будет на самом деле, и в итоге браузер ждет и ждет окончания тела, которого не будет.
Код: Выделить всё
if(ini_get("output_handler")=='')
header('Content-Length: '.(function_exists('mb_strlen') ? mb_strlen($content,'8bit') : strlen($content)));
1) Не всегда (и даже чаще всего) OB включают не в конфигурации ini, а в коде. Это значит что даже если директива пуста, это не гарантирует того что на выходе будет совсем другой контент.
2) Не только эта директива отвечает за постобработку результата, а так же например "zlib.output_compression". Если не ошибаюсь аналоги есть для mbstring, iconv и tidy, не факт что все можно перечислить.
В итоге предлагаю делать проверку с помощью функции ob_get_status, которая выдает актуальный результат для всех перечисленных случаев, в т.ч. и для директивы "output_handler"
При наличии любой буферизации с обработкой посылать информацию о длине некорректно.