Edit report at https://bugs.php.net/bug.php?id=55544&edit=1

 ID:                 55544
 Comment by:         bugs dot php at mohiva dot com
 Reported by:        diogin at gmail dot com
 Summary:            ob_gzhandler always conflicts with
                     zlib.output_compression
 Status:             Closed
 Type:               Bug
 Package:            Output Control
 Operating System:   Windows XP SP3 x86
 PHP Version:        5.4.0alpha3
 Assigned To:        laruence
 Block user comment: N
 Private report:     N

 New Comment:

Now, it works for me.


Previous Comments:
------------------------------------------------------------------------
[2012-07-24 06:55:04] larue...@php.net

re-fixed agian...

------------------------------------------------------------------------
[2012-07-24 06:44:41] larue...@php.net

Automatic comment on behalf of laruence
Revision: 
http://git.php.net/?p=php-src.git;a=commit;h=4c1e2bbd6f744b4048d4e0540ecc5dbe005494fe
Log: Re-fix bug #55544

------------------------------------------------------------------------
[2012-07-24 06:42:27] larue...@php.net

Automatic comment on behalf of laruence
Revision: 
http://git.php.net/?p=php-src.git;a=commit;h=4c1e2bbd6f744b4048d4e0540ecc5dbe005494fe
Log: Re-fix bug #55544

------------------------------------------------------------------------
[2012-07-24 06:17:34] larue...@php.net

here is the confusion(assuming -d output_handler=ob_gzhandler -d 
zlib.output_compression=0) :

1. php.output_handler will change the ZLIGB(output_compression) before the zlib 
RINIT 
2. in zlib RINIT, we set the ZLIBG(output_compression) to default value(ini)

3. if we don't override the ZLIBG(output_compression), then in the 
php_zlib_output_compression_start which will be called in RINT will try to 
start 
zlib compression handler (although it depends on the requeset header), then, 
the 
conflict warning will be threw.

4. if we override it, then it the php_zlib_output_compression_start, it will 
return FALIURE, and no compression occurred(see the codes from my previous 
reply)

so, the key problem is multi-featrues depends on one global flag -> 
ZLIBG(output_compression).

------------------------------------------------------------------------
[2012-07-24 05:12:35] larue...@php.net

Here is the problem
ext/zlib/zlib.c
@@ -205,7 +205,7 @@ static int php_zlib_output_handler(void **handler_context, 
php_output_context *o
                if (SUCCESS == 
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_GET_FLAGS, &flags TSRMLS_CC)) {
                        /* only run this once */
                        if (!(flags & PHP_OUTPUT_HANDLER_STARTED)) {
                                if (SG(headers_sent) || 
!ZLIBG(output_compression)) {  

seems we need a bigger work to resolve this

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=55544


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=55544&edit=1

Reply via email to