Fast and Furious Hack (Gzip modificatie)

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Lontronics

Fast and Furious Hack (Gzip modificatie)

Bericht door Lontronics » 17 apr 2005, 13:00

Ik kwam de Fast and Furious modificatie tegen in een van de topics en heb deze vervolgens uitgeprobeerd op mijn forum.
Deze modificatie is een aanpassing op het Gzip-script wat bovenin page_header.php staat, echter, ik vraag me met name af waar de snelheidswinst vandaan zou moeten komen.... :?

Origineel zoals ik hem had staan in page_header.php:

Code: Selecteer alles

// 
// 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_end_clean();	 
         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'); 
         } 
      } 
   } 
} 
Vervangen door:

Code: Selecteer alles

// 
// gzip_compression 
// 
$do_gzip_compress = FALSE; 
if($board_config['gzip_compress']) 
{ 
   $phpver = phpversion(); 

   if($phpver >= "4.0.4pl1") 
      { 
         if(extension_loaded("zlib")) 
      { 
   if (headers_sent() != TRUE) 
      { 
         $gz_possible = isset($HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]) && eregi("gzip, deflate",$HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]); 
         if ($gz_possible) 
         {
	 ob_end_clean();	 
         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"); 
         } 
      } 
   } 
}  
Overigens gebruik ik de ob_end_clean(); i.v.m. wat zip-problemen die ik destijds had met Mozilla-based browsers.

Dus mijn vraag hier op het forum; waardoor wordt dan die snelheidswinst behaald????

Groeten,
Jan
Laatst gewijzigd door Lontronics op 17 apr 2005, 16:17, 1 keer totaal gewijzigd.

Lontronics

Bericht door Lontronics » 17 apr 2005, 14:10

Overigens is dit de link naar de mod: http://www.phpbbhacks.com/viewhack.php?id=119

Groeten,
Jan

Lontronics

Bericht door Lontronics » 19 apr 2005, 16:09

Inmiddels draai ik de mod in zijn standaard uitvoering dus zonder de ob_end_clean();
Ik blijf echter met de vraag zitten waarom deze uitvoering sneller zou zijn dan het standaard script wat bij phpBB gebruikt wordt.
En het valt me eigenlijk tegen dat er schijnbaar niemand is die hier het antwoord op heeft....

Originele code van de fast and furious mod zoals ik hem nu dus ook gebruik:

Code: Selecteer alles

//
// gzip_compression
//
$do_gzip_compress = FALSE;
if($board_config['gzip_compress'])
{
   $phpver = phpversion();

   if($phpver >= "4.0.4pl1")
      {
         if(extension_loaded("zlib"))
      {
   if (headers_sent() != TRUE)
      {
         $gz_possible = isset($HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]) && eregi("gzip, deflate",$HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]);
         if ($gz_possible)  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");
         }
      }
   }
}  

Gesloten