#23489 [Ver]: ob_start() is broken with method callbacks
| From: | davey@php.net | Date: | Wed, 07 May 2003 20:39:54 +0000 |
| Subject: | #23489 [Ver]: ob_start() is broken with method callbacks | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-39247@lists.php.net to get a copy of this message | ||
ID: 23489
Updated by: davey@php.net
-Reported By: sebastian@php.net
+Reported By: davey@php.net
Status: Verified
Bug Type: Output Control
Operating System: ANY
-PHP Version: 5
+PHP Version: 4.2.3
Assigned To: helly
New Comment:
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
Previous Comments:
------------------------------------------------------------------------
[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