#32283 [Fbk->Opn]: zlib.output_compression = 1 but no headers sent
| From: | plasmahh at gmx dot net | Date: | Mon, 14 Mar 2005 18:45:03 +0000 |
| Subject: | #32283 [Fbk->Opn]: zlib.output_compression = 1 but no headers sent | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-75316@lists.php.net to get a copy of this message | ||
ID: 32283
User updated by: plasmahh at gmx dot net
Reported By: plasmahh at gmx dot net
-Status: Feedback
+Status: Open
Bug Type: Output Control
Operating System: Linux
PHP Version: 5.0.3
New Comment:
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;
}
Previous Comments:
------------------------------------------------------------------------
[2005-03-12 14:42:12] sniper@php.net
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