Doc #27555 [Com]: Unable to modify $_SESSION from __destruct()
| From: | bjoern at heyser dot ac | Date: | Sat, 03 Apr 2010 14:49:46 +0000 |
| Subject: | Doc #27555 [Com]: Unable to modify $_SESSION from __destruct() | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-4154@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=27555&edit=1
ID: 27555
Comment by: bjoern at heyser dot ac
Reported by: jaanus at heeringson dot com
Summary: Unable to modify $_SESSION from __destruct()
Status: No Feedback
Type: Documentation Problem
Package: Documentation problem
Operating System: Linux 2.4.24
PHP Version: 5CVS-2004-03-10 (dev)
Assigned To: helly
New Comment:
I'am also interested in infomation to the issue.
I use php 5.2 an run into the same issues when I write a session wrapper
class.
Will the "(unwanted) feature" becomes removed or is there any sense for
calling destructors after php modules are shutdown..
A further issue I think is the current working directory that isn't
available in destructors as well as in custom registered shutdown
functions.
best regards, björn
(sorry for my english)
Previous Comments:
------------------------------------------------------------------------
[2009-10-20 19:44:34] gabriel at gabrielharrison dot co dot uk
Hi,
I can not find anything in the documentation about this. Was it added or
was the feature changed in newer versions?
Thanks,
Gabriel
------------------------------------------------------------------------
[2008-03-07 21:54:57] ondraster at gmail dot com
Sorry for my last comment, I had bad PHP version in httpd.conf. I feel
ashamed...
------------------------------------------------------------------------
[2008-03-07 21:23:18] ondraster at gmail dot com
This bug (unwanted feature maybe?) is really annoying. For example I
want, when __destroy, write to session last visited address.
This bug (feature) has been submitted in year 2004 and still has no fix
or there has not been any reason why are all modules unloaded before
__destroy is called? When running __destroy, script is still running so
there's no reason why this function shouldn't have all resources.
I don't know, why this is classified as Documentation problem, when it
is clearly BUG!
------------------------------------------------------------------------
[2006-12-06 22:50:26] php at kieran dot ca
This bug seems to be affecting the DOM functions as well.
<code>
class someNode extends DOMNode{
function __destruct() {
echo "now I have ".$this->attributes->length." attribute(s)";
}
}
$x = new someNode('nodename');
$x->setAttribute('bob','frank');
echo "I have ".$x->attributes->length." attributes"; // outputs "I
have
1 attribute(s)"
unset($x); // outputs "now I have attribute(s)"
</code>
This behaviour also seems to affect the __construct function as well.
------------------------------------------------------------------------
[2006-10-13 09:20:45] spidgorny at gmail dot com
I'm writing because of Status: No feedback.
In my opinion this is not strictly a bug, but a very unconvenient
undocumented feature. The best is to fix it, because in some cases it
would be nice to save to the session some of the properties of the class
in the destructor.
Otherwise it must be documented in a way that it's flashing and really
stands-out, because this behaviour is unlogical.
P.S. Spent few days to debug it out in a large application.
------------------------------------------------------------------------
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/bug.php?id=27555
--
Edit this bug report at http://bugs.php.net/bug.php?id=27555&edit=1