Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
How To enable GZIP Compression in PHP?
GZIP compression is a simple, effective way to save bandwidth and speed up PHP applications by compressing content before sending it to the client. The mechanism works in three steps.
How GZIP Compression Works
Method 1: Using .htaccess (Apache)
Add the following configuration to your .htaccess file to enable GZIP compression ?
# compress text, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript # Or, compress certain file types by extension: <files *.html> SetOutputFilter DEFLATE </files>
Method 2: Using PHP ob_gzhandler
You can enable GZIP compression directly in PHP files using output buffering ?
<?php
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
ob_start("ob_gzhandler");
else
ob_start();
// Your PHP content here
echo "This content will be compressed if the browser supports GZIP";
?>
Method 3: Using zlib.output_compression
Enable compression through PHP configuration or runtime ?
<?php
// Enable GZIP compression
ini_set('zlib.output_compression', 'On');
ini_set('zlib.output_compression_level', 6);
echo "This content will be automatically compressed";
?>
Checking GZIP Support
You can verify if GZIP compression is working ?
<?php
$encoding = $_SERVER['HTTP_ACCEPT_ENCODING'] ?? '';
if (strpos($encoding, 'gzip') !== false) {
echo "Browser supports GZIP compression<br>";
} else {
echo "Browser does not support GZIP compression<br>";
}
// Check if output compression is enabled
if (ini_get('zlib.output_compression')) {
echo "GZIP output compression is enabled";
} else {
echo "GZIP output compression is disabled";
}
?>
Conclusion
GZIP compression significantly reduces file sizes and improves website loading speed. Use .htaccess for server-wide compression or PHP's ob_gzhandler for file-specific compression.
Advertisements
