diff options
Diffstat (limited to 'ext/session')
-rw-r--r-- | ext/session/session.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index f9b686da6a..dc3b9c8e5c 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -85,8 +85,10 @@ static const ps_serializer *_php_find_ps_serializer(char *name TSRMLS_DC); static PHP_INI_MH(OnUpdateSaveHandler) { - if (PS(session_status) == php_session_active) - return; + if (PS(session_status) == php_session_active) { + php_error(E_WARNING, "A session is active. You cannot change the session module's ini settings at this time."); + return FAILURE; + } PS(mod) = _php_find_ps_module(new_value TSRMLS_CC); /* * Following lines are commented out to prevent bogus error message at @@ -104,8 +106,10 @@ static PHP_INI_MH(OnUpdateSaveHandler) static PHP_INI_MH(OnUpdateSerializer) { - if (PS(session_status) == php_session_active) - return; + if (PS(session_status) == php_session_active) { + php_error(E_WARNING, "A session is active. You cannot change the session module's ini settings at this time."); + return FAILURE; + } PS(serializer) = _php_find_ps_serializer(new_value TSRMLS_CC); /* * Following lines are commented out to prevent bogus error message at |