ich habe schon seit einem Jahr GZIP im Forum aktiviert und nun haben wir ne neue Homepage und dort wollte ich das auch mal einbauen also habe ich mir mal den Code für GZIP beim Forum angeschaut und habe die Befürchtung :
"Obwohl ich GZIP eingeschaltet habe, wird es vom Forum nicht angewendet"
In der PageHeader.php steht folgender Code:
Code: Alles auswählen
//
// gzip_compression
//
$do_gzip_compress = FALSE;
if ( $board_config['gzip_compress'] )
{
$phpver = phpversion();
$useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;
if ( $phpver >= '4.0.4pl1' && ( strstr($useragent,'compatible') || strstr($useragent,'Gecko') ) )
{
if ( extension_loaded('zlib') )
{
ob_start('ob_gzhandler');
}
}
else if ( $phpver > '4.0' )
{
if ( strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') )
{
if ( extension_loaded('zlib') )
{
$do_gzip_compress = TRUE;
ob_start();
ob_implicit_flush(0);
header('Content-Encoding: gzip');
}
}
}
}
Nach dem Teil ist die $do_gzip_compress immer noch False anstatt true da die nur im ELSEIF-Teil true gesetzt wird.
In der PageTail.php siehts wie folgt nun aus:
Code: Alles auswählen
//
// Compress buffered output if required and send to browser
//
if ( $do_gzip_compress )
{
//
// Borrowed from php.net!
//
$gzip_contents = ob_get_contents();
ob_end_clean();
$gzip_size = strlen($gzip_contents);
$gzip_crc = crc32($gzip_contents);
$gzip_contents = gzcompress($gzip_contents, 9);
$gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4);
echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
echo $gzip_contents;
echo pack('V', $gzip_crc);
echo pack('V', $gzip_size);
}
Ist das nicht ein Codefehler? Er läd die zlib extension extra im header ein und verwendet sie dann nicht zur kompression. Ist mir Spanisch wieso er kein GZIP verwendet wenn ich es anstelle und mein Server stellt die nötige Extensions ja zur verfügung.
Hat wer damit erfahrung?