I have found a couple of tutorials on how to enable gzip, but nothing seems to be working for me, so my question is how do i enable gzip. I am on a shared Dreamhost hosting server, It is running PHP version 5.2, and Apache, from the php info i have found this line, maybe this could help?
zlib ZLib Support enabled Stream Wrapper support compress.zlib:// Stream Filter support zlib.inflate, zlib.deflate Compiled Version 1.2.3.3 Linked Version 1.2.3.3 Directive Local Value Master Value zlib.output_compression Off Off zlib.output_compression_level -1 -1 zlib.output_handler no value no value
I have also found this line
_SERVER["HTTP_ACCEPT_ENCODING"] gzip, deflate
I don't know if that has anything to do with it. But that is my first question, secondly, i have dropbox, hosting a javscript file, and I am wondering is it possible to have that file gzipped, It is not being transfered compressed, so is ther any way to do so?
Double click on the file and select headers. Under 'Response headers' you are looking for the 'Connection-Encoding' field, it will say gzip if it is enabled.
Gzip Compression is Enabled by Default.
Have you tried with ob_gzhandler?
<?php ob_start("ob_gzhandler"); ?> <html> <body> <p>This should be a compressed page.</p> </html> <body>
As an alternative, with the Apache web server, you can add a DEFLATE output filter to your top-level server configuration, or to a .htaccess
file:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml \ text/css application/x-javascript application/javascript </IfModule>
Tip: Sometimes it is pretty tricky to detect if the web server is sending compressed content or not. This online tool can help with that.
Using the developer tools in my web browser, I tested a PHP file with and without compression to compare the size. In my case, the difference was 1 MB (non-compressed) and 56 KB compressed.
All I had to do to enable the encoding at the Apache level is
zlib.output_compression = 1 // the PHP.ini file
this will make the server do the necessary request header check, compress, send related headers
you can also do that in your PHP files before the ob_start()
ini_set("zlib.output_compression", 1);
And to make Apache compress the static resources (e.g: .js files , .css files) do as Kamlesh did in his answer
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With