Jak to rozjet na vlastním serveru
Kapitoly článků
A protože si myslím, že jen všem prospěje, pokud budeme HTML stránky komprimovat, tak zde uvedu kus PHP kódu, který komprimaci způsobuje. Upozorňuji, že tento postup je ozkoušen na Unixu s Apache a PHP 4.0.3pl1 zkompilovaný s podporou zlib (--with-zlib). Máte-li PHP starší než 4.0.1, tak vám uvedený postup určitě nebude fungovat. Také s jiným web serverem než Apache asi bude problém.
Na začátek PHP skriptu stačí dát (pozor, před <? nezmí být žádná mezera):
<? Ob_Start(); Ob_Implicit_Flush(0); ?>A potom na úplný konec skriptu stačí dát následující kód (zase pozor, za ?> nesmí být žádná mezera):
<? if (StrPos($HTTP_ACCEPT_ENCODING, 'gzip') === false): Ob_End_Flush(); else: $Contents = Ob_Get_Contents(); Ob_End_Clean(); $Size = StrLen($Contents); $Crc = CRC32($Contents); $Contents = "\x1f\x8b\x08\x00\x00\x00\x00\x00" .GZCompress($Contents, 9); $Contents = SubStr($Contents, 0, StrLen($Contents) - 4) .Pack("V",$Crc).Pack("V",$Size); Header('Content-Encoding: gzip'); Header('Content-Length: '.StrLen($Contents)); echo $Contents; endif; ?>
Diskuse ke článku Zrychlení provozu - komprese HTML stránek