ID: 48994 Updated by: j...@php.net Reported By: jflatnes at vt dot edu -Status: Assigned +Status: Closed Bug Type: Zlib Related Operating System: Linux 2.6.29 PHP Version: 5.2.10 Assigned To: jani New Comment:
This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2009-08-03 18:15:31] s...@php.net Automatic comment from SVN on behalf of jani Revision: http://svn.php.net/viewvc/?view=revision&revision=286751 Log: - Fixed bug #48994 (zlib.output_compression does not ouput HTTP headers when set to a string value) # also fixes bug #35936 (ini.zlib.output-compression Documentation :) ------------------------------------------------------------------------ [2009-07-29 01:13:07] apinstein at mac dot com I ran into this issue today as well... but I have more to add. Using PHP 5.3 + zlib 1.2.3 I *cannot* get compression + headers. I can get no compression, or compression w/o headers, but never "working" compression+headers. I have tried: httpd.conf: php_flag zlib.output_compression On php_admin_flag zlib.output_compression On -> zip + no headers php_flag zlib.output_compression true php_admin_flag zlib.output_compression true -> not zipped In app.php: ini_set('zlib.output_compression', true); ini_set('zlib.output_compression', "On"); -> not zipped ------------------------------------------------------------------------ [2009-07-21 22:50:56] j...@php.net There is something weird going on here, verified it now. Need to investigate more tomorrow. To reproduce on command line: # HTTP_ACCEPT_ENCODING=gzip gdb --arg php-cgi test.php ------------------------------------------------------------------------ [2009-07-21 19:03:10] jflatnes at vt dot edu <?php var_dump(ini_set('zlib.output_compression', 'On')); ?> Results in: string(0) "" (meaning I had no previous setting for zlib.output_compression, I believe) --- I am coming to understand that the string 'On' doesn't behave the same way in ini_set as in an ini file, as mentioned. The issue I see here is that there are two options for zlib compression: zlib.output_compression = false: no compression with no headers. zlib.output_compression = true: compression with appropriate headers. Passing a string to ini_set (other than the string '1') causes a third, undocumented behavior: zlib.output_compression = 'On': compression without the headers. Those three states describe the behavior I'm seeing, and the third state seems like a bug. If 'On' is an invalid setting, shouldn't the compression simply not be activated? Am I thinking about this correctly?) ------------------------------------------------------------------------ [2009-07-21 18:46:33] j...@php.net Try this too: <?php var_dump(ini_set('zlib.output_compression', 'On')); ?> Also note that using "On" or "Off" or such with ini_set() does NOT work like they do when used in php.ini. ------------------------------------------------------------------------ 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 http://bugs.php.net/48994 -- Edit this bug report at http://bugs.php.net/?id=48994&edit=1