ID: 32283 Updated by: [EMAIL PROTECTED] Reported By: plasmahh at gmx dot net -Status: Open +Status: Feedback Bug Type: Output Control Operating System: Linux PHP Version: 5CVS-2005-03-14 New Comment:
Is ext/zlib compiled as shared by any chance in your system? What was the configure line you've used? Previous Comments: ------------------------------------------------------------------------ [2005-03-25 15:13:30] plasmahh at gmx dot net This is an example when I do it with mozilla, but its always the same whenever an accept encoding of gzip or deflate is present... GET / HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050321 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive ------------------------------------------------------------------------ [2005-03-17 18:02:21] [EMAIL PROTECTED] What headers are being sent by the browser making the request? ------------------------------------------------------------------------ [2005-03-14 19:45:02] plasmahh at gmx dot net Does not work too with the snapshot... I have changed parts of the php_enable_output_compression as followed, which works around my problem... if (php_memnstr(Z_STRVAL_PP(a_encoding), "gzip", 4, Z_STRVAL_PP(a_encoding) + Z_STRLEN_PP(a_encoding))) { ZLIBG(compression_coding) = CODING_GZIP; sapi_add_header("Content-Encoding: gzip", sizeof("Content-Encoding: gzip") - 1, 1); } else if (php_memnstr(Z_STRVAL_PP(a_encoding), "deflate", 7, Z_STRVAL_PP(a_encoding) + Z_STRLEN_PP(a_encoding))) { ZLIBG(compression_coding) = CODING_DEFLATE; sapi_add_header("Content-Encoding: deflate", sizeof("Content-Encoding: deflate") - 1, 1); } else { return FAILURE; } ------------------------------------------------------------------------ [2005-03-12 14:42:12] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2005-03-12 00:10:04] plasmahh at gmx dot net Description: ------------ When setting zlib.output_compression in php.ini and outputting any page (tried with <? phpinfo(); ?>) no proper headers are sent. From zlib manual : Whether to transparently compress pages. If this option is set to "On" in php.ini or the Apache configuration, pages are compressed if the browser sends an "Accept-Encoding: gzip" or "deflate" header. "Content-Encoding: gzip" (respectively "deflate") and "Vary: Accept-Encoding" headers are added to the output. It looks like in zlib.c the php_enable_output_compression function should enable the compression, which it also does (the data is sent gzipped properly if the client has a proper Accept-Encoding header sent) but nowhere in there is a header sent with Content-Encoding. The only occurence is in the ob_gzhandler but it seems like this is a totally different feature. I have set a header output in my php_enable_output_compression and it works for me, dont know if this is the proper solution. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=32283&edit=1