diff options
author | Kalle Sommer Nielsen <kalle@php.net> | 2008-08-04 06:21:55 +0000 |
---|---|---|
committer | Kalle Sommer Nielsen <kalle@php.net> | 2008-08-04 06:21:55 +0000 |
commit | 874b45607888dd5d208883e4f966ee365ff2b2ea (patch) | |
tree | 530d6fdb77211d92c89f24960cb5ea69c26ba5f9 | |
parent | afb1e3efab2f3248c0ca132857d2c8aee2539da3 (diff) | |
download | php-git-874b45607888dd5d208883e4f966ee365ff2b2ea.tar.gz |
MFH: Fixes #45406 - Patch by oleg dot grenrus at dynamoid dot com
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | ext/session/session.c | 18 |
2 files changed, 16 insertions, 4 deletions
@@ -4,6 +4,8 @@ PHP NEWS - Fixed bug #45696 (Not all DateTime methods allow method chaining). (Derick) - Fixed bug #45545 (DateInterval has a limitation of 4 chars for ISO durations). (Derick) +- Fixed bug #45406 (session.serialize_handler declared by shared extension + fails). (Kalle, oleg dot grenrus at dynamoid dot com) - Fixed bug #44100 (Inconsistent handling of static array declarations with duplicate keys). (Dmitry) - Fixed bug #43008 (php://filter uris ignore url encoded filternames and can't diff --git a/ext/session/session.c b/ext/session/session.c index 0fe7210795..5543be37cb 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1992,14 +1992,24 @@ PHP_RINIT_FUNCTION(session) if (value) { PS(mod) = _php_find_ps_module(value TSRMLS_CC); } + } + + if (PS(serializer) == NULL) { + char *value; - if (!PS(mod)) { - /* current status is unusable */ - PS(session_status) = php_session_disabled; - return SUCCESS; + value = zend_ini_string("session.serialize_handler", sizeof("session.serialize_handler"), 0); + if(value) { + PS(serializer) = _php_find_ps_serializer(value TSRMLS_CC); } } + if (PS(mod) == NULL || PS(serializer) == NULL) { + /* current status is unusable */ + PS(session_status) = php_session_disabled; + + return SUCCESS; + } + if (PS(auto_start)) { php_session_start(TSRMLS_C); } |