zlib.output_compression не работает, если задана длина содержимого - PullRequest
0 голосов
/ 02 декабря 2018

У меня проблемы со сжатием вывода PHP, когда установлен заголовок Content-Length.Следуя моему очень похожему вопросу , похоже, я сузил проблему, которая возникает даже без определения сжатия вывода в Apache .htaccess.

Так что я использую Apache 2.4.18, .htaccess пуст, AddOutputFilterByType DEFLATE text/html text/plain text/xml закомментирован в конфигурации Apache, потому что я хочу, чтобы сжатие происходило в PHP.

Мой минимальный код PHP:

<?php

ini_set("zlib.output_compression", "On");

$output = "";

for ($i = 0; $i < 4000; $i++) {
    $output .= "Foobar ";
}

// header("Content-Length: " . strlen($output));
header("Content-Type: text/html");

echo $output;

exit;

Это работаетвсе в порядке, выходные данные сжимаются (это не тот случай, если я опускаю вызов ini_set, как и ожидалось).

Теперь, если я раскомментирую строку заголовка Content-Length, вдруг выходные данные больше не сжимаются.

РЕДАКТИРОВАТЬ: В моем случае проблема решена, см. Мои комментарии ниже.

...