ID: 21228 Comment by: ricko at garagegames dot com Reported By: mlaukast1 at hotmail dot com Status: Closed Bug Type: Output Control Operating System: All PHP Version: 4.3.0/4.4.0-dev Assigned To: iliaa New Comment:
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 Previous Comments: ------------------------------------------------------------------------ [2002-12-30 13:41:19] [EMAIL PROTECTED] 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. ------------------------------------------------------------------------ [2002-12-28 13:15:52] 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-27 19:40:31] 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. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=21228&edit=1