Skip to content

Commit

Permalink
Update UPGRADING and UPGRADING.INTERNALS
Browse files Browse the repository at this point in the history
  • Loading branch information
Yasuo Ohgaki committed Jan 25, 2015
1 parent 4ba97bb commit 7b17980
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 2 deletions.
12 changes: 12 additions & 0 deletions UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
19 changes: 19 additions & 0 deletions UPGRADING.INTERNALS
Original file line number Diff line number Diff line change
Expand Up @@ -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.
4 changes: 2 additions & 2 deletions ext/session/session.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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();
Expand Down

0 comments on commit 7b17980

Please sign in to comment.