ID:               32330
 Comment by:       fxmulder at gmail dot com
 Reported By:      [EMAIL PROTECTED]
 Status:           Verified
 Bug Type:         Session related
 Operating System: *
 PHP Version:      6CVS, 5CVS, 5.2.5, 4CVS (2005-03-17)
 New Comment:

The problem is both mod_data getting set to NULL and
zval_ptr_dtor(&mdata->names[i]); for each of the functions in
ext/session/mod_user.c:PS_CLOSE_FUNC.  If the deconstructor calls are
removed as well as the NULL replacements and efree() call on mdata then
it works, except then the containing classes are never deconstructed. 
This could possibly be moved to a location when the script is exiting,
and/or another call to session_set_save_handler is made.


Previous Comments:
------------------------------------------------------------------------

[2008-01-22 05:43:48] [EMAIL PROTECTED]

This bug still exists in PHP 5.2.5 release and current (as of this
comment) PHP 6CVS. Using a fresh call to session_set_save_handler() does
work, but as previously noted by others, this isn't a desirable
behavior.

------------------------------------------------------------------------

[2007-08-23 05:25:49] jkloske at itee dot uq dot edu dot au

I'm confirming that I'm also affected by this on all OSs and all
versions of PHP I've tried it with (4/5, win/linux)

I'm calling session_write_close() not session_destroy() and it's still
causing the same error. Re-calling session_set_save_handler between
previous close and subsequent open does nothing; the error still
occurs.

This means that phpMyAdmin (which uses multiple sessions for various
authentication handlers at least) is not compatible with user session
handlers, due to this bug :)

------------------------------------------------------------------------

[2007-07-05 13:23:23] facingratio at email dot it

I confirm that the ini_set workaround doesn't work. The only solution i
found is to use the session_set_save_handler(...) again after you call
session_destroy(). Also session_write_close() followed by
session_start() seems to generate the same fatal error.

------------------------------------------------------------------------

[2007-03-08 05:07:06] colossuswv at hotmail dot com

The ini_set workaround doesn't seem to work when using a db to store
sessions. Using session_set_save_handler() again after session destroy
does work however, albeit an undesirable solution.

------------------------------------------------------------------------

[2006-12-14 17:24:03] faithfulsoft at tiscali dot it

I've experienced this problem today, and it was driving me crazy.
I was able to resolve it thanks to the last post on this page.
I've put this two lines of code

ini_set("session.save_handler", "files");
session_start();

in a separate file, and I include them where I need.

The strange thing is that I borrowed the piece of code I am using from
a GPL portal system, which is working like a charm on my local server
with this line

ini_set('session.save_handler', 'files');

This is really strange.

Anyhow, thank you all guys.

------------------------------------------------------------------------

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/32330

-- 
Edit this bug report at http://bugs.php.net/?id=32330&edit=1

Reply via email to