Today to help customers to organize a website found in the Firefox Hint: Content encoding error cannot display the page you are trying to view, because it uses an invalid or unsupported compression format, I look at the customer is PHP station, cause may be ob_gzhandler reasons, the following I summarize the solution.
Firefox error code:
Content encoding Error
The page you are trying to view cannot be displayed because it uses an invalid or unsupported compression format.
Please contact the owner of the site to inform this question
Causes of errors and solutions:
1, ensure that the PHP program does not have any warning or error prompts
2, PHP code ob_start (' Ob_gzhandler ') caused by the cause of two kinds of reasons:
A, the server does not support this compression format, can use Function_exists (' Ob_gzhandler ') judgment, the solution ob_start (' Ob_gzhandler ') changed to Ob_start ();
B, use Ob_start (' Ob_gzhandler ') when there is already content output, check the contents of the previous content and require include call file. If unable to find can use Ob_start () before calling other files, use Ob_end_clean () to clear the output after the call;
3. Set_magic_quotes_runtime () function:
Hint: function set_magic_quotes_runtime () is deprecated, the reason for this hint is that this feature has been closed after PHP5.3, and the feature has been completely removed in PHP6, that is, the function is no longer present. You can either comment or delete the line that went wrong, or add the @ sign before set_magic_quotes_runtime ().
4, PHP5.30 version, the default is no longer support such syntax, output variables need to use the PHP echo $username; > grammar is only possible. You can do this by setting the Short_open_tag in php.ini to on to be compatible with the original syntax.
PHP about Ob_start (' Ob_gzhandler ') enable gzip compression for bugs
If using Ob_start ("Ob_gzhandler");
The output after Ob_clean () will not be displayed, which is a bug,
can be used Ob_end_clean (); Ob_start ("Ob_gzhandler"); Instead of Ob_clean ();
Otherwise, the output will be empty.
Error_reporting (E_all);
Ob_start ("Ob_gzhandler");
echo "Content";
Ob_clean ();
echo "More content";
?>
The above code expects the output to be more content and nothing is actually output.
It's normal down here.
Error_reporting (E_all);
Ob_start ("Ob_gzhandler");
echo "Content";
Ob_end_clean ();
Ob_start ("Ob_gzhandler");
echo "More content";
?>
Here's a custom callback function to test again
function My_ob_gzhandler ($buffer, $mod) {
Header ("Content-encoding:gzip");
Return Gzencode ($buffer, 9, force_gzip);
}
Error_reporting (E_all);
Ob_start ("My_ob_gzhandler");
echo "Content";
Ob_clean ();
echo "More content";
?>
The above is normal, but using Ob_end_clean instead of Ob_clean will cause the output to be displayed later.
Therefore, even the following code will cause the output to be empty after using Ob_clean or Ob_end_clean.
if (Ini_get (' zlib.output_compression ')) {
if (Ini_get (' zlib.output_compression_level ')! = 9) {
Ini_set (' Zlib.output_compression_level ', ' 9 ');
}
Ob_start ();
} else {
if (strstr ($_server[' http_accept_encoding '), "gzip")) {
Ob_start ("Ob_gzhandler");
} else {
Ob_start ();
}
}
?>
The most stable method of enabling page compression should resemble the following
if (extension_loaded (' zlib ')) {
Ini_set (' zlib.output_compression ', ' on ');
Ini_set (' Zlib.output_compression_level ', ' 3 ');
}
?>
However, if you must use Ob_gzhandler to enable page compression pay attention to the first sentence of this article.
In fact, the following code is just the browser does not display
Error_reporting (E_all);
Ob_start ("Ob_gzhandler");
echo "Content";
Ob_clean ();
echo "More content";
But if you test it,
telnet localhost 80
get/test.php http/1.0
The following information will be returned
http/1.1 OK
Date:fri, 15:40:17 GMT
server:apache/2.2.6 (WIN32) php/5.2.5
x-powered-by:php/5.2.5
Vary:accept-encoding
Content-length:12
Connection:close
Content-type:text/html
More content
The connection to the host has been lost.
You can see that more content has been output
http://www.bkjia.com/PHPjc/632098.html www.bkjia.com true http://www.bkjia.com/PHPjc/632098.html techarticle today to help customers to organize a website found in the Firefox Hint: Content encoding error cannot display the page you are trying to view, because it uses invalid or unsupported compression format, I ...