Edit report at https://bugs.php.net/bug.php?id=63379&edit=1
ID: 63379 Updated by: larue...@php.net Reported by: avatar2004-php at yahoo dot fr Summary: Warning when using session_regenerate_id(TRUE) with a SessionHandler Status: Assigned Type: Bug Package: Session related Operating System: Gentoo PHP Version: 5.4.8 Assigned To: arpad Block user comment: N Private report: N New Comment: is the reseting of user_is_open necessary? diff --git a/ext/session/mod_user_class.c b/ext/session/mod_user_class.c index 70d2f40..4edac28 100644 --- a/ext/session/mod_user_class.c +++ b/ext/session/mod_user_class.c @@ -121,7 +121,6 @@ PHP_METHOD(SessionHandler, destroy) return; } - PS(mod_user_is_open) = 0; RETVAL_BOOL(SUCCESS == PS(default_mod)->s_destroy(&PS(mod_data), key TSRMLS_CC)); } /* }}} */ Previous Comments: ------------------------------------------------------------------------ [2012-10-29 01:14:11] avatar2004-php at yahoo dot fr If I understand correctly and "mod_user_is_open" is just a global state parameter used by the SessionHandler instance, I was wondering why the check wasn't being done on "session_status" instead to conform with the rest of the session_* API ? ------------------------------------------------------------------------ [2012-10-29 01:04:34] avatar2004-php at yahoo dot fr Description: ------------ It seems there's an issue with the SessionHandler implementation and the way the destroy handler is invoked when using session_regenerate_id(TRUE) The problem seems to come from using the global "mod_user_is_open" in the PS_SANITY_CHECK_IS_OPEN macro (in ext/session/mod_user_class.c). The test script generates an undue warning: Test script: --------------- $handler = new SessionHandler(); session_set_save_handler($handler, TRUE); // or FALSE, doesn't matter session_start(); session_regenerate_id(TRUE); //session_write_close(); Expected result: ---------------- No warning Actual result: -------------- PHP Warning: Unknown: Parent session handler is not open in Unknown on line 0 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=63379&edit=1