From:             lasse at cederstrom dot dk
Operating system: FreeBSD
PHP version:      5.2.0
PHP Bug Type:     Output Control
Bug description:  Objects destoryed before output buffering

Description:
------------
When the code reaches the callback function for ob_start, the objects in
$GLOBALS have been destructed.

In earlier versions of php they were not destructed at this point, making
it possible to use $GLOBALS['object']->func() in output()

This is new behaviour for 5.2

Reproduce code:
---------------
<?php

class dims
{
        function x()
        {
                return "Muhahahaha";
        }
        function __destruct()
        {
                echo "IM GOING DOWN!!!";
        }
}

$GLOBALS['d'] = new dims();
function output($buffer)
{
        var_dump($GLOBALS);
        return false;
}
ob_start('output');
?>

This is a test
<hr>
<?php
        var_dump($GLOBALS);
?>


Expected result:
----------------
To have $GLOBALS['d'] still be there when reaching output()

Actual result:
--------------
$GLOBALS['d'] should still be available in output()

-- 
Edit bug report at http://bugs.php.net/?id=39546&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=39546&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=39546&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=39546&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=39546&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=39546&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=39546&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=39546&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=39546&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=39546&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=39546&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=39546&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=39546&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=39546&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=39546&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=39546&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=39546&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=39546&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=39546&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=39546&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=39546&r=mysqlcfg

Reply via email to