Bug #8676 Updated: Bad serialization of objects with references
| From: | thies@php.net | Date: | Wed, 20 Jun 2001 15:17:44 +0000 |
| Subject: | Bug #8676 Updated: Bad serialization of objects with references | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-57403@lists.php.net to get a copy of this message | ||
ID: 8676
Updated by: thies
Reported By: arnaud.bienvenu@generasound.com
Old-Status: Assigned
Status: Closed
Bug Type: *Session related
Operating system:
PHP Version: 4.0.5
Assigned To: sas
Comments:
forgot to close
Previous Comments:
---------------------------------------------------------------------------
[2001-06-20 11:15:31] thies@php.net
fixed in CVS
---------------------------------------------------------------------------
[2001-06-14 23:35:25] sniper@php.net
There are a lot of duplicate reports on this one.
---------------------------------------------------------------------------
[2001-05-23 10:35:15] arnaud.bienvenu@generasound.com
Yes, the bug is still in 4.0.5. I put it back online on http://www.generasound.com/test/bug.php
You can see it in action provided your browser accepts cookies (go there and click reload).
---------------------------------------------------------------------------
[2001-05-22 21:29:45] sbergmann@php.net
Could you please give some feedback if this problem persists with a recent version (CVS, snapshot,
4.0.5 release) of PHP? Thanks!
---------------------------------------------------------------------------
[2001-01-12 11:15:12] arnaud.bienvenu@generasound.com
Some complex objects won't be correctly stored into the session. This is probably a problem
with serialize/unserialize. It happens with objects structure containing some references. The code
below builds the simpliest structure I could find that pinpouts the problem.
With more complex structure, you can have all sorts of strange behaviour, including crashing PHP,
but the behaviours vary from one PHP installation to another (even with the same version and compile
flags).
<?php
/*
View this script with a browser and press reload
It will probably display "-->137645276" instead of "-->Object"
You can view it at http://www.generasound.com/test/bug.php
*/
session_start();
if (!isset($form))
{
$form = new stdClass();
$submit = new stdClass();
$upperif = new stdClass();
$upperif->Child = &$submit;
$upperif->Layout = new stdClass();
$upperif->Layout->Child = new stdClass();
$upperif->Layout->Child->Interface = &$submit;
$lowerif = new stdClass();
$form->Children[0] = &$upperif;
$form->Children[1] = &$lowerif;
$form->Layout = new stdClass();
$form->Layout->Children[1] = new stdClass();
$form->Layout->Children[1]->Interface = &$lowerif;
echo "-->".$form->Layout->Children[1]->Interface."<BR>";
session_register("form");
}
else
{
echo "-->".$form->Layout->Children[1]->Interface."<BR>";
}
?>
---------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view the rest of the comments,
please view the bug report online.
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=8676&edit=2