«Перестал работать» - это довольно высокий уровень. Вы должны посмотреть, что работает или нет, чтобы узнать больше.
Это можно сделать путем мониторинга сетевого трафика. Вы увидите, сколько ответа уже выполнено и в какой кодировке оно отправлено.
Если ответ сжимается, большинству функций сжатия требуется определенное количество байтов, прежде чем они смогут сжать их. Таким образом, даже если вы сделаете flush()
, чтобы сигнализировать PHP для очистки выходного буфера, все равно может быть место либо в выходной фильтрации PHP, либо на сервере, ожидающем, пока больше не выполнит сжатие. Таким образом, рядом со сжатием, выполняемым apache, проверьте, выполняет ли ваша конфигурация PHP также сжатие, и отключите его.
Если вы не хотите отслеживать свой сетевой трафик, утилита командной строки curl
отлично справляется с задачей, отображая происходящее, и ее может быть проще использовать вместо мониторинга сети.
curl -Ni --raw URL
Убедитесь, что вы используете переключатель -N
, который отключит буферизацию на curl
, чтобы вы могли напрямую видеть вывод ваших скриптов / серверов.
См. Раздел Проверка проблем сжатия HTTP с помощью Curl в моем предыдущем ответе, где показаны некоторые команды curl
для просмотра вывода запроса, пока он выполняется с также сжатие.
curl
может показать, что сжатые данные в конечном итоге будут сжаты без сжатия, и вы можете отключить сжатие для каждого запроса, поэтому независимо от настроек сжатия сервера или PHP, вы можете протестировать более дифференцированные.