]> granicus.if.org Git - php/commitdiff
Fixes #45406 - Patch by oleg dot grenrus at dynamoid dot com
authorKalle Sommer Nielsen <kalle@php.net>
Mon, 4 Aug 2008 06:18:27 +0000 (06:18 +0000)
committerKalle Sommer Nielsen <kalle@php.net>
Mon, 4 Aug 2008 06:18:27 +0000 (06:18 +0000)
ext/session/session.c

index b1b812712435734a007c071f11e65ca07e86b8b2..985730851f02ffbf9a791becb507c81729982a34 100644 (file)
@@ -1877,14 +1877,24 @@ static 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);
        }