]> granicus.if.org Git - php/commitdiff
Update UPGRADING and UPGRADING.INTERNALS
authorYasuo Ohgaki <yohgaki@php.net>
Sun, 25 Jan 2015 21:14:40 +0000 (06:14 +0900)
committerYasuo Ohgaki <yohgaki@php.net>
Sun, 25 Jan 2015 21:14:40 +0000 (06:14 +0900)
UPGRADING
UPGRADING.INTERNALS
ext/session/session.c

index 5343b44ac3003f202f9f1c2fbf381c70d899fc0e..668ff87aecdea228f4e16c091783032382be21be 100644 (file)
--- a/UPGRADING
+++ b/UPGRADING
@@ -78,6 +78,18 @@ PHP X.Y UPGRADE NOTES
   . gmp_setbit() and gmp_clrbit() now return FALSE for negative indices, making
     them consistent with other GMP functions.
 
+- Session
+  . session_start() accepts all INI settings as array. e.g. ['cache_limiter'=>'private']
+    sets session.cache_limiter=private. It also supports 'read_and_close' which closes
+    session data immediately after read data.
+  . Save handlers accpets validate_sid(), update_timestamp() which validates session
+    ID existence, updates timestamp of session data. Compatibility of old user defined
+    save handler is retained.
+  . SessionUpdateTimestampHandlerInterface is added. validateSid(), updateTimestamp()
+    is defined in the interface.
+  . session.lazy_write(default=On) INI setting enables only write session data when
+    session data is updated.
+
 - Standard:
   . Removed string category support in setlocale(). Use the LC_* constants
     instead.
index 426288d3c508e7d82e0e501b81825bbdc5b7ea27..b1d3f4bda254c48611f035df0b74456caa905f15 100644 (file)
@@ -200,3 +200,22 @@ PHP 7.0 INTERNALS UPGRADE NOTES
      - configure.js now produces response files which are passed to the linker
        and library manager. This solves the issues with the long command lines
        which can exceed the OS limit.
+
+
+========================
+3. Module changes
+========================
+
+  Session:
+
+    - PS_MOD_UPDATE_TIMESTAMP() session save handler definition is added. New
+      save handler should use PS_MOD_UPDATE_TIMESTAMP() definition. Save handler
+      must not refer/change PS() variables directly from save handler.
+    - PS_MOD_UPDATE_TIMESTAMP() defines validate_sid() handler. This handler
+      must validate if requested session ID is in session data storage or not.
+      Internal save handler needed to asscess PS(id) directly to validate it.
+      Do not access PS(id), but use this handler.
+    - PS_MOD_UPDATE_TIMESTAMP() defines update_timestamp() handlers. This handler
+      must update session data timestamp for GC if it is needed. e.g. Memcache
+      updates timestap on read, so it does not need to update timestamp. Return
+      SUCCESS simply for this case.
index afc9c70ec9460f757fefe77bff575dd345ad7eb4..c2ec3734195fd7cc50a7104abb6cf920f3817bf6 100644 (file)
@@ -511,7 +511,7 @@ static void php_session_initialize(void) /* {{{ */
                        PS(send_cookie) = 1;
                }
        }
-       
+
        /* Set session ID for compatibility for older/3rd party save handlers */
        if (!PS(use_strict_mode)) {
                php_session_reset_id();
@@ -558,7 +558,7 @@ static void php_session_save_current_state(void) /* {{{ */
        int ret = FAILURE;
 
        IF_SESSION_VARS() {
-               if (PS(mod_data) || PS(mod_user_implemented)) {
+               if (PS(mod_data) || PS(mod_user_implemented)) {
                        zend_string *val;
 
                        val = php_session_encode();