php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #21139 zlib.output_compression + windows failure
Submitted: 2002-12-21 17:48 UTC Modified: 2002-12-26 07:42 UTC
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:2 (100.0%)
Same OS:1 (50.0%)
From: helly@php.net Assigned:
Status: Closed Package: Output Control
PHP Version: 4.3.0RC4 OS: Windows
Private report: No CVE-ID: None
 [2002-12-21 17:48 UTC] helly@php.net
I have just installed latest php 4.3 on linux and windows.
I use the same directory and therefore .htaccess files for
apache/mod_php on both platforms.

When i enable enable output compression with ini setting
        php_value zlib.output_compression On
in .htaccess the linux version works as expected but the
windows version fails. Sometimes i receive errors with
access violations. Sometimes i can downlowd the result
but when rename the resulting file to .gz i can open it and
as you might expect it contains the correct result. And 
sometime i see the encoding result presented in the browser
and then i cannot save and view it although the gzip header
seems correct.

marcus

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-12-21 19:27 UTC] edink@php.net
I can confirm this bug on Windows + Apache + zlib.output_compression in .htaccess.

If zlib.output_compression is set to on from php.ini it works. It only doesn't work if set from .htaccess.
 [2002-12-22 12:14 UTC] moriyoshi@php.net
Verified on Windows, with Apache or Apache2.

-- HTTP response dump of the following script --

<?php echo "abcde"; ?>

-- Apache_1.3.27 --
HTTP/1.1 200 OK
Date: Sun, 22 Dec 2002 18:06:53 GMT
Server: Apache/1.3.27 (Win32) PHP/4.4.0-dev
X-Powered-By: PHP/4.4.0-dev
Connection: close
Content-Type: text/html

(correctly gzip-encoded content)

-- Apache_2.0.43 --
HTTP/1.1 200 OK
Date: Sun, 22 Dec 2002 18:06:15 GMT
Server: Apache/2.0.43 (Win32) PHP/4.4.0-dev
Last-Modified: Sun, 22 Dec 2002 17:59:26 GMT
ETag: "45a2-1b-e744bab1"
Accept-Ranges: bytes
Content-Length: 27
Connection: close
Content-Type: application/x-httpd-php

<br />
<b>Warning</b>:  (null)() [<a href='http://www.php.net/ref.outcontrol'>ref.outcontrol</a>]: Cannot change zlib.output_compression - headers already sent in <b>Unknown</b> on line <b>0</b><br />
abcde
 [2002-12-22 18:41 UTC] moriyoshi@php.net
During investigation, I found another odd behaviour when zlib.output_compression is toggled up by .htaccess.

HTTP response headers which are automatically appended by Apache, such as ETag, Accept-Ranges, and Content-Length are supposed to be removed on sapi activation, and they are actually removed in the very first request to the server, but from the second request they persistently appear again.

 [2002-12-23 07:48 UTC] alexws at hotmail dot ru
I confirm the presence of this bug since PHP 4.3.0RC2. PHP 4.3.0RC1 works!

It is appearing either when zlib compression is toggled in php.ini or .htaccess. Looks like header problem, 'cause returned file can really be decoded.

OS tested: Windows 98, Windows 2000, Windows XP
PHP tested: PHP 4.3.0 RC2, RC3, RC4
Server software tested: IIS 4.0, IIS 5.0, Apache 1.3, Apache 2.0

All of the tests confirm buggy behavior. Please investigate.
 [2002-12-26 07:42 UTC] edink@php.net
This bug has been fixed in CVS.

In case this was a PHP problem, 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/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.

ZLIB extension is now built in on Windows which solves this problem.
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Wed Dec 01 19:03:37 2021 UTC