#23489 [Csd]: ob_start() is broken with method callbacks

From: Date: Wed, 07 May 2003 20:43:17 +0000
Subject: #23489 [Csd]: ob_start() is broken with method callbacks
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-39250@lists.php.net to get a copy of this message
ID: 23489 Updated by: davey@php.net Reported By: davey@php.net Status: Closed Bug Type: Output Control Operating System: ANY PHP Version: 4.2.3 Assigned To: helly New Comment: sorry, I'm using Apache 1.3.27, with apache as SAPI not CGI, and WinXP without SP1. CGI tests were done from 'DOS' - Davey Previous Comments: ------------------------------------------------------------------------ [2003-05-07 15:42:48] edink@php.net Its fixed in 5.0.0-dev so closing the report. ------------------------------------------------------------------------ [2003-05-07 15:39:53] davey@php.net I've tested this bug using the script seb wrote. I've tested with PHP 4.2.2, 4.3.2RC2 and latest 4.3.2 snapshot (200305071630) 4.2.2 outputs: Apache: bar CGI: bar 4.3.2RC2 outputs: Apache: bar CLI: bar CGI: foo 4.3.2 Snapshot outputs: Apache: bar CLI: bar CGI: bar Seems to be fixed in 4.3.2-Win32 now. - Davey ------------------------------------------------------------------------ [2003-05-05 17:37:53] helly@php.net In 4 this is fixed now. The problem is still in 5. That is due to the problem that we have a different oo model in 5 (i guess). ------------------------------------------------------------------------ [2003-05-05 15:01:48] moriyoshi@php.net Definitely related to bug #23466. OG(active_ob_buffer).output_handler seems totally cluttered at the time php_end_ob_buffer() is called. ------------------------------------------------------------------------ [2003-05-05 04:59:46] davey@php.net The following code <?php class Test { function Test() { ob_start( array( $this, 'transform' ) ); } function transform($buffer) { return 'bar'; } } $t = new Test; ?> foo outputs 'bar', as it is expected to do, with PHP 4.3.1. With PHP 4.3.2-RC and PHP 5.0.0-dev it outputs 'foo' which is just plain wrong. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=23489&edit=1

« previous php.bugs (#39250) next »