ob_gzhandler is intended to be used as a callback function for ob_start to help facilitate sending gz-encoded data to web browsers that support compressed web pages. Before ob_gzhandler actually sends compressed data, it determines what type of content encoding the browser will accept ("gzip", "deflate" or none at all) and will return its output accordingly. All browsers are supported since it's up to the browser to send the correct header saying that it accepts compressed web pages. If a browser doesn't support compressed pages this function returns false.
ob_gzhandler requires the zlib extension.
You cannot use both ob_gzhandler and zlib.output_compression. Also note that using zlib.output_compression is preferred over ob_gzhandler.