Wiki source for DetectingZlibOutputCompressionFR


Show raw source

=====Comment connaitre si zlib.outputcompression est activé?=====
Wikka a un problème de double compression si l'option zlib.outputcompression est activée. La technique suivante peut aider à détecter ce cas et d'agir en conséquence :
%%(php) ob_start();
ob_start('ob_gzhandler');
$data = ob_get_contents();
if (strlen($data) != 0)
{
$_SERVER['HTTP_ACCEPT_ENCODING'] = "none";
}
else ob_end_clean();
ob_end_clean();%%

Une utilisation plus poussée, mais non testée est de modifier ./wikka.php comme ceci:
1) Enlever les lignes suivantes (qui se trouvent tout au bas du source) :
%%(php)if (strstr ($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') && function_exists('gzencode') && ($wakka->config['allow_gzip']))
{
// Tell the browser the content is compressed with gzip
header ("Content-Encoding: gzip");
$page_output = gzencode($content, 9);
$page_length = strlen($page_output);
header('Content-Length: '.$page_length);
} else {
$page_output = $content;
}%%

2) Remplacer le premier ob_start() par ceci:
%%(php)
ob_start(); //afin que l'éventuel message d'erreur de ob_gzhandler ne soit envoyé au navigateur
ob_start('ob_gzhandler'); //tester zlib.outputcompression
$data = ob_get_contents();
$ob_gzhandler_is_ok = (strlen($data) == 0);
ob_end_clean();
ob_end_clean(); //fermer tout éventuel tampon encore ouvert
$ob_gzhandler_is_ok ? ob_start('ob_gzhandler') : ob_start(); //et rouvre un tampon
%%

==Category==
WikkaDevelopmentFR
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki