From 11d6fcdba0f1e88718a87862e9f885d1e13cc38d Mon Sep 17 00:00:00 2001 From: Arpad Ray Date: Wed, 2 Nov 2011 16:53:22 +0000 Subject: [PATCH] fix calling user close func when it isn't open --- ext/session/session.c | 2 -- .../session_set_save_handler_class_014.phpt | 2 -- .../session_set_save_handler_class_015.phpt | 24 +++++++++++++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 ext/session/tests/session_set_save_handler_class_015.phpt diff --git a/ext/session/session.c b/ext/session/session.c index ac3fda0a69..faa45824aa 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1649,7 +1649,6 @@ static PHP_FUNCTION(session_set_save_handler) remove_user_shutdown_function("session_shutdown" TSRMLS_CC); } - PS(mod_user_implemented) = 1; if (PS(mod) && PS(session_status) == php_session_none && PS(mod) != &ps_mod_user) { zend_alter_ini_entry("session.save_handler", sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); } @@ -1674,7 +1673,6 @@ static PHP_FUNCTION(session_set_save_handler) efree(name); } - PS(mod_user_implemented) = 1; if (PS(mod) && PS(mod) != &ps_mod_user) { zend_alter_ini_entry("session.save_handler", sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); diff --git a/ext/session/tests/session_set_save_handler_class_014.phpt b/ext/session/tests/session_set_save_handler_class_014.phpt index 51fc690dfe..ea62beb0ff 100644 --- a/ext/session/tests/session_set_save_handler_class_014.phpt +++ b/ext/session/tests/session_set_save_handler_class_014.phpt @@ -28,5 +28,3 @@ session_start(); *** Testing session_set_save_handler() : calling default handler when save_handler=user *** Fatal error: SessionHandler::open(): Cannot call default session handler in %s on line %d - -Fatal error: Unknown: Cannot call default session handler in %s on line %d diff --git a/ext/session/tests/session_set_save_handler_class_015.phpt b/ext/session/tests/session_set_save_handler_class_015.phpt new file mode 100644 index 0000000000..3bef51be4f --- /dev/null +++ b/ext/session/tests/session_set_save_handler_class_015.phpt @@ -0,0 +1,24 @@ +--TEST-- +Test session_set_save_handler() : register session handler but don't start +--INI-- +session.save_handler=files +session.name=PHPSESSID +--SKIPIF-- + +--FILE-- +