Bug #60761 [Com]: zlib.output_compression fails on refresh

From: Date: Sun, 20 May 2012 06:42:32 +0000
Subject: Bug #60761 [Com]: zlib.output_compression fails on refresh
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-170602@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=60761&edit=1

 ID:                 60761
 Comment by:         pierre at archlinux dot de
 Reported by:        valentiny510 at yahoo dot es
 Summary:            zlib.output_compression fails on refresh
 Status:             Closed
 Type:               Bug
 Package:            *Compression related
 Operating System:   xp
 PHP Version:        5.4.0RC5
 Assigned To:        mike
 Block user comment: N
 Private report:     N

 New Comment:

I just tested this with 5.4.4RC1. While output compression is now on for more than just one request,
there is another drawback: I have several pools defined via fpm. One of them has
"php_flag[zlib.output_compression] = on".

Once the vhost using this pool is accessed output compression is turned on for all fpm pool and
cannot be turned off. Even worse: ini_get('zlib.output_compression') still reports false.

If you then use the ob_gzhandler you get "output handler 'ob_gzhandler' conflicts
with 'zlib output compression'"


Previous Comments:
------------------------------------------------------------------------
[2012-05-15 07:47:47] mike@php.net

Should be fixed in 5.4 and master.

------------------------------------------------------------------------
[2012-05-15 07:45:37] mike@php.net

Automatic comment on behalf of mike
Revision: http://git.php.net/?p=php-src.git;a=commit;h=0ad53bfd7da12a92a46c08e3fff579a15026b88b
Log: fix bug #60761 zlib.output_compression fails on refresh

------------------------------------------------------------------------
[2012-05-12 13:42:53] pierre at archlinux dot de

I can still reproduce this bug on Arch Linux using PHP 5.4.3 (php-fpm). Which additional information
do you guys need? It seems pretty obvious to me.

------------------------------------------------------------------------
[2012-04-15 02:27:15] adunar at gmail dot com

The bug also happens with the cli-server SAPI (both Windows and Ubuntu).

Here are a few (bash) commands that will reproduce this bug (assumes zlib.output_compression = On in
your php.ini)

echo "<?php echo '-------------------------------';" > bug.php

php -S 127.0.0.1:8888 > /dev/null 2>&1 &

curl --header "Accept-Encoding: gzip" http://localhost:8888/bug.php 2> /dev/null | wc -m

curl --header "Accept-Encoding: gzip" http://localhost:8888/bug.php 2> /dev/null | wc -m

# fg, then ctrl+c to kill php -S

If output_compression is working correctly, the two curl commands should print the same number
(approx. 16). 

However with PHP 5.4, the second (and subsequent) curl commands print the size of the original
uncompressed output (31).

------------------------------------------------------------------------
[2012-04-14 23:56:24] adunar at gmail dot com

I am experiencing the same problem, using PHP 5.4.0 with the PHP-FPM 
SAPI on Ubuntu.

zlib appears to only compress the output for the first request from 
a particular worker process.

With the default settings it takes a few refreshes to run into the bug. 
To reproduce immediately, set pm.start_servers = 1 in php-fpm.conf.

Afterwards, running "/etc/init.d/php5-fpm reload" allows another 
request to be compressed before it stops working again.

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


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=60761


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


Thread (12 messages)

« previous php.bugs (#170602) next »