#36696 [Opn->Bgs]: __destruct() is called before serialize() when object stored in session
| From: | iliaa@php.net | Date: | Wed, 22 Mar 2006 17:13:42 +0000 |
| Subject: | #36696 [Opn->Bgs]: __destruct() is called before serialize() when object stored in session | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-94768@lists.php.net to get a copy of this message | ||
ID: 36696
Updated by: iliaa@php.net
Reported By: iain at iaindooley dot com
-Status: Open
+Status: Bogus
Bug Type: Session related
Operating System: *
PHP Version: 5.1.2
Assigned To: sas
New Comment:
There is nothing wrong with the order here. Temp var gets destroyed as
soon as it is created, while session serialization happens at the end
of the script.
Previous Comments:
------------------------------------------------------------------------
[2006-03-21 23:34:59] iain at iaindooley dot com
i would say that the fact the order of operations changes for a temp
var or an assigned var is a bug.
------------------------------------------------------------------------
[2006-03-21 15:47:16] iliaa@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
When putting objects into session or serializing them manually put the
instantiation result into a variable 1st and then use it.
Ex. $a = new Object();
$_SESSION['obj'] = $a;
Doing so avoids temp var, which gets destroyed right away hence leading
to the wrong order of operations.
------------------------------------------------------------------------
[2006-03-20 23:25:16] tony2001@php.net
Assigned to the maintainer.
------------------------------------------------------------------------
[2006-03-13 19:54:55] helly@php.net
exactly
------------------------------------------------------------------------
[2006-03-13 11:07:12] iain at iaindooley dot com
Just for clarity, i presume you mean using:
session_write_close();
before the scripts conclude.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/36696
--
Edit this bug report at http://bugs.php.net/?id=36696&edit=1