What are the different methods for gzip compression in PHP and how do they affect the loading speed of a website?

When serving web pages, enabling gzip compression can significantly reduce the size of the response and speed up the loading time of a website. This can be achieved in PHP using different methods such as using the zlib extension, the ob_gzhandler function, or setting the Content-Encoding header. Each method has its own advantages and implementation specifics, but all aim to compress the response data before sending it to the client.

// Method 1: Using the zlib extension
if (extension_loaded('zlib')) {
    ob_start('ob_gzhandler');
}

// Method 2: Using ob_gzhandler function
ini_set('zlib.output_compression', 'On');

// Method 3: Setting Content-Encoding header
ob_start();
header('Content-Encoding: gzip');