Doc #27555 [Com]: Unable to modify $_SESSION from __destruct()

From: 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

« previous php.doc.bugs (#4154) next »