|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2008-06-10 10:54 UTC] scottmac@php.net
[2008-06-10 14:54 UTC] vituko at gmail dot com
[2008-06-10 16:53 UTC] scottmac@php.net
[2008-06-10 16:57 UTC] vituko at gmail dot com
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Dec 30 22:00:01 2025 UTC |
Description: ------------ Garbage collection works in an unexpected way for me, when there're crossed references. I discovered it working with large databases, Apache crashes sometimes : the thread hangs and after /etc/init.d/apache2 restart, it continues working. Another thing : the only way to get track of references is debug_zval_dump (of course it can be done manually) and huge strings must be parsed. Further, when mixing true (&) and "php" references it's no more possible... or is it? Only a tought... Thanks Reproduce code: --------------- class a { public function __destruct() { echo 'destr<br>' ; } } $a = new a ; $a -> v = new a ; $a -> w = new a ; $a -> v -> w = $a -> w ; $a -> w -> v = $a -> v ; unset ($a) ; echo 'fin<br>' ; exit ; Expected result: ---------------- destr destr destr fin Actual result: -------------- destr fin destr destr