GZIP-сжатие страниц

Для того, чтобы включить сжатие результатов выдачи PHP-скрипта, достаточно вызвать функцию ob_start(’ob_gzhandler’).
Однако в случае, если в настройках PHP включена настройка zlib.output_compression, происходит конфликт, в результате которого генерируется предупреждение

Чтобы этого не происходило, можно воспользоваться таким кодом:

1
2
3
4
5
6
<?php
if (!ini_get('zlib.output_compression')) {
  ob_start('ob_gzhandler',9); // 9 -- уровень сжатия
}
else { ob_start(); }
?>

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

29.09.2008   Пригодится для CMS   4 комментария(-ев)

4 комментария(-ев)

  1. Esi0n - 29.09.2008

    Хочу добавить, что уровень сжатия идет с 0 до 9.
    Оптимальнее всего использовать уровень 6. Если выше - разницы не заметно, а нагрузка на CPU увеличивается

  2. bohdan4ik - 18.10.2008

    Можно еще проверять, поддерживает ли броузер клиента gzip сжатие)

  3. Esi0n - 19.10.2008

    Через чур я думаю, хотя…

  4. XLR - 01.11.2008

    bohdan4ik? Ето ты?

Оставить комментарий

 

 

 


  • « Назад 
  •  Вперед »