Apparently, there is a bug in certain versions of PHP with setting zlib.output_compression to "On" via ini_set:
<?php
ini_set("zlib.output_compression", "On");
?>
In some cases, it does not send the Content-type header and browsers won't know to decompress the contents before displaying. Instead, you can set it to the buffer size, which sends the correct header:
<?php
ini_set("zlib.output_compression", 4096);
?>
Configurația la rulare
Comportamentul acestor funcții este afectat de parametrii stabiliți în php.ini.
The zlib extension offers the option to transparently compress your pages on-the-fly, if the requesting browser supports this. Therefore there are three options in the configuration file php.ini.
| Denumirea | Valoarea implicită | Poate fi modificată | Jurnalul modificărilor |
|---|---|---|---|
| zlib.output_compression | "0" | PHP_INI_ALL | Available since PHP 4.0.5. |
| zlib.output_compression_level | "-1" | PHP_INI_ALL | Available since PHP 4.3.0. |
| zlib.output_handler | "" | PHP_INI_ALL | Available since PHP 4.3.0. |
Iată o explicație pe scurt a directivelor de configurare.
- zlib.output_compression boolean/integer
-
Whether to transparently compress pages. If this option is set to "On" in php.ini or the Apache configuration, pages are compressed if the browser sends an "Accept-Encoding: gzip" or "deflate" header. "Content-Encoding: gzip" (respectively "deflate") and "Vary: Accept-Encoding" headers are added to the output. In runtime, it can be set only before sending any output.
This option also accepts integer values instead of boolean "On"/"Off", using this you can set the output buffer size (default is 4KB).
Notă:
output_handler must be empty if this is set 'On' ! Instead you must use zlib.output_handler.
- zlib.output_compression_level integer
-
Compression level used for transparent output compression. Specify a value between 0 (no compression) to 9 (most compression). The default value, -1, lets the server decide which level to use.
- zlib.output_handler string
-
You cannot specify additional output handlers if zlib.output_compression is activated here. This setting does the same as output_handler but in a different order.
