Welcome to WebmasterWorld Guest from

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

Content-Encoding is not set in response when using php compression

"php_value zlib.output_compression On" in .htaccess doesn't work



8:32 am on Feb 7, 2006 (gmt 0)

10+ Year Member

I enabled automatic gzip compression with the following lines in .htaccess:

php_value zlib.output_compression On
php_value zlib.output_compression_level 5

The problem is that the Content-Encoding header does not get set at all in the response. Therefore, a browser that advertises itself as supporting gzip compression (Accept-Encoding: gzip,deflate) receives
compressed content but does not know it is compressed.

If I manually add the following to my script:

header("Content-Encoding: gzip");

... it then works.

I'm using PHP Version 4.4.2 with the following Configure Command

'./configure' '--with-apache=../apache_1.3.34' '--with-openssl'
'--with-gd' '--with-mysql' '--enable-trans-sid' '--enable-track-vars'
'--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-zlib=/usr'
'--enable-mbstring' '--enable-ftp' '--enable-exif'
'--with-freetype-dir=/usr/local' '--with-pspell=/usr/local'

Zlib settings:
ZLib Support enabled
Compiled Version 1.2.2
Linked Version 1.2.2

Any ideas of what might be causing this? Is it a php error?


11:28 pm on Feb 8, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

Do you have any flush() calls in your script? Output buffering?


6:53 am on Feb 9, 2006 (gmt 0)

10+ Year Member

Nope. Nothing.


7:23 am on Feb 9, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

Have a look at this Content-Negotiation Class [webmasterworld.com] (compression is included by default). Some support is at this and following pages [webmasterworld.com]. That will both solve your problem, and also give you load-balanced compression.

Featured Threads

Hot Threads This Week

Hot Threads This Month