Recipe 8.14 Compressing Web Output with gzip
8.14.1 Problem
You want to send
compressed content to browsers that support automatic decompression.
8.14.2 Solution
Add this setting to your php.ini file:
zlib.output_compression=1
8.14.3 Discussion
Browsers tell the server that they can accept compressed responses
with the
Accept-Encoding
header. If
a browser sends Accept-Encoding: gzip or
Accept-Encoding: deflate, and
PHP is built with the zlib extension, the
zlib.output_compression configuration directive
tells PHP to compress the output with the appropriate algorithm
before sending it back to the browser. The browser uncompresses the
data before displaying it.
You can adjust the compression level with the
zlib.output_compression_level configuration
directive:
; minimal compression
zlib.output_compression_level=1
; maximal compression
zlib.output_compression_level=9
At higher compression levels, less data needs to be sent from the
server to the browser, but more server CPU time must be used to
compress the data.
8.14.4 See Also
Documentation on the zlib extension at
http://www.php.net/zlib.
|