php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #21228 output handler 'ob_gzhandler' cannot be used twice
Submitted: 2002-12-27 19:40 UTC Modified: 2004-02-25 03:28 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: mlaukast1 at hotmail dot com Assigned: iliaa
Status: Closed Package: Output Control
PHP Version: 4.3.0/4.4.0-dev OS: All
Private report: No CVE-ID:
 [2002-12-27 19:40 UTC] mlaukast1 at hotmail dot com
If I use ob_start("ob_gzhandler") function I get an error message: "PHP Warning:  ob_gzhandler() [<a href='http://www.php.net/ref.outcontrol'>ref.outcontrol</a>]: output handler 'ob_gzhandler' cannot be used twice in c:\web\test.php3 on line 11". The same script runs fine on 4.2.3. Interestingly, on version 4.3.0 ob_get_level() returns 2 and on 4.2.3 the return value is 1. I'm using Windows 2000 Server/IIS5. PHP is configured in CGI mode.

Here's the script:
//---start---
<%
ob_start("ob_gzhandler");
%>
<html>
<body>
<h3>This is a test. ob_get_level: <% echo ob_get_level(); %></h3>
</body>
</html>
<%
if(ob_get_level()){
	ob_end_flush();
}
%>
//---end---

And here's the essential configurations from the 'php.ini' file:

output_buffering = 4096
output_handler =
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
allow_call_time_pass_reference = Off

If I set "output_handler = ob_gzhandler" and remove the ob_start("ob_gzhandler") from the script it's working on 4.3.0 as well. However, this way the compression is always on and I can't determine myself when to use it.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-12-28 13:15 UTC] chris at de-punkt dot de
The error occurs on Linux, too. A customer reported it and it can nicely be reproduced with 

<?php
ob_start("ob_gzhandler");
?>

which yields the warning visible under http://www.christopher-kunz.de/ob.php

Environment is http://www.christopher-kunz.de/info.php
 [2002-12-30 13:41 UTC] iliaa@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.


 [2004-02-25 02:13 UTC] ricko at garagegames dot com
Reproduced this bug in v4.3.5rc3 on Apache/Win32 with php beling loded as a module.

<?PHP
ob_start('ob_gzhandler');
?>

Warning: (null)() [ref.outcontrol]: output handler 'ob_gzhandler' cannot be used twice in Unknown on line 0
 [2004-02-25 03:28 UTC] helly@php.net
Have you check the ini? It must contain the following two settings:

output_handler =
zlib.output_compression = Off
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Mon Apr 21 04:01:57 2014 UTC