Gzip сайт со встроенным кодом PHP - PullRequest
0 голосов
/ 23 августа 2011

Согласно этой статье

достаточно добавить это в начале кода

<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?>

Я пытался, но время загрузки увеличилось более чем на5 секунд (+ 100% времени)

Не рекомендуется ли это?мне попробовать как-нибудь еще?

Ответы [ 3 ]

3 голосов
/ 23 августа 2011

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

Обратный вызов ob_gzhandler работает прозрачно, поэтому он действует только тогда, когда браузер действительно поддерживает некоторыевид сжатия (не только gzip, как при ручной проверке), поэтому ручная проверка не требуется.Вместо этого вы можете просто написать:

ob_start("ob_gzhandler");

Что означает

ob_start();

, если браузер не поддерживает сжатие.В качестве альтернативы вы можете установить соответствующее значение INI.См. ob_start Документы и ob_gzhandler Документы .

Если вы хотите измерить разницу в скорости, сравните только ob_start() (без сжатия) с ob_start("ob_gzhandler") (сжатие) и не буферизуйте с не буферизирующими.

Затем имейте в виду, что gzhandlerработает с чанками, поэтому может создавать выходные данные только при наличии определенного объема данных в буфере.Это можно настроить с помощью настройки ini, но не функции обратного вызова IIRC.См. zlib.output_compression Документы .

0 голосов
/ 30 июля 2015

Просто используйте следующий код.

<?php 
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
ob_start("ob_gzhandler");
} else{
 ob_start(); 
?>
0 голосов
/ 23 августа 2011

Сжатие требует некоторого времени и ресурсов с сервера, но передача происходит быстрее.Это зависит.

Если у вас быстрый сервер, он должен быть быстрым.Это зависит от

  • Сетевое подключение
  • Ресурсы сервера (такие как процессор)

Однако я не думаю, что это необходимо, я думаю, чтоесли у вас есть плагин сжатия gzip на вашем сервере, он автоматически архивирует gziping.

Попробуйте этот тест без вашего кода и затем с

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...