com php-src: Fixed bug #74936 - session_*() functions trigger a warning in read mode when the sess ion is active: NEWS ext/session/session.c ext/ses
sion/tests/bug74936.phpt ext/session/tests/sessio n_cache_expire_basic.phpt ext/session/tests/session _cache_expire_variation1.phpt
ext/session/tests/ses sion_cache_expire_variation2.phpt ext/session/tests /session_cache_expire_variation3.phpt ext/session/t
ests/session_cache_limiter_variation1.phpt ext/ses

From: Date: Tue, 18 Jul 2017 20:25:22 +0000
Subject: com php-src: Fixed bug #74936 - session_*() functions trigger a warning in read mode when the sess ion is active: NEWS ext/session/session.c ext/ses
sion/tests/bug74936.phpt ext/session/tests/sessio n_cache_expire_basic.phpt ext/session/tests/session _cache_expire_variation1.phpt
ext/session/tests/ses sion_cache_expire_variation2.phpt ext/session/tests /session_cache_expire_variation3.phpt ext/session/t
ests/session_cache_limiter_variation1.phpt ext/ses
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-98626@lists.php.net to get a copy of this message
Commit: 5b12b46a19bc37d073c4ac32e62fbe823f786e09 Author: Sergei Morozov <morozov@tut.by> Mon, 17 Jul 2017 12:39:34 +0300 Committer: Nikita Popov <nikita.ppv@gmail.com> Tue, 18 Jul 2017 22:25:22 +0200 Parents: a624ded4d3bf791526c9a99a59c20f03eaea8aa5 Branches: PHP-7.2 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=5b12b46a19bc37d073c4ac32e62fbe823f786e09 Log: Fixed bug #74936 - session_*() functions trigger a warning in read mode when the session is active Bugs: https://bugs.php.net/74936 Changed paths: M NEWS M ext/session/session.c A ext/session/tests/bug74936.phpt M ext/session/tests/session_cache_expire_basic.phpt M ext/session/tests/session_cache_expire_variation1.phpt M ext/session/tests/session_cache_expire_variation2.phpt M ext/session/tests/session_cache_expire_variation3.phpt M ext/session/tests/session_cache_limiter_variation1.phpt M ext/session/tests/session_cache_limiter_variation2.phpt M ext/session/tests/session_save_path_variation1.phpt Diff: diff --git a/NEWS b/NEWS index fe44c45..7ef1302 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,11 @@ PHP NEWS - Session: . Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start with "#"). (Andrew Nester) + . Fixed bug #74936 (session_cache_expire/cache_limiter/save_path() trigger a + warning in read mode). (morozov) + +- SPL: + . Fixed bug #74669 (Unserialize ArrayIterator broken). (Andrew Nester) 20 Jul 2017, PHP 7.2.0beta1 diff --git a/ext/session/session.c b/ext/session/session.c index 70f56a3..1e8321d 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1999,7 +1999,7 @@ static PHP_FUNCTION(session_save_path) return; } - if (PS(session_status) == php_session_active) { + if (name && PS(session_status) == php_session_active) { php_error_docref(NULL, E_WARNING, "Cannot change save path when session is active"); RETURN_FALSE; } @@ -2227,7 +2227,7 @@ static PHP_FUNCTION(session_cache_limiter) return; } - if (PS(session_status) == php_session_active) { + if (limiter && PS(session_status) == php_session_active) { php_error_docref(NULL, E_WARNING, "Cannot change cache limiter when session is active"); RETURN_FALSE; } @@ -2258,7 +2258,7 @@ static PHP_FUNCTION(session_cache_expire) return; } - if (PS(session_status) == php_session_active) { + if (expires && PS(session_status) == php_session_active) { php_error_docref(NULL, E_WARNING, "Cannot change cache expire when session is active"); RETURN_LONG(PS(cache_expire)); } diff --git a/ext/session/tests/bug74936.phpt b/ext/session/tests/bug74936.phpt new file mode 100644 index 0000000..aee7493 --- /dev/null +++ b/ext/session/tests/bug74936.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #74936 session_cache_expire() triggers a warning in read mode. +--SKIPIF-- +<?php +include('skipif.inc'); +?> +--FILE-- +<?php + +session_start(); +var_dump(session_cache_expire()); +var_dump(session_cache_limiter()); +var_dump(session_save_path()); +?> +===DONE=== +--EXPECT-- +int(180) +string(7) "nocache" +string(0) "" +===DONE=== diff --git a/ext/session/tests/session_cache_expire_basic.phpt b/ext/session/tests/session_cache_expire_basic.phpt index fb24000..7166485 100644 --- a/ext/session/tests/session_cache_expire_basic.phpt +++ b/ext/session/tests/session_cache_expire_basic.phpt @@ -32,8 +32,6 @@ int(180) int(180) int(1234567890) bool(true) - -Warning: session_cache_expire(): Cannot change cache expire when session is active in %s on line 17 int(180) bool(true) int(180) diff --git a/ext/session/tests/session_cache_expire_variation1.phpt b/ext/session/tests/session_cache_expire_variation1.phpt index 1a73249..9d0ba27 100644 --- a/ext/session/tests/session_cache_expire_variation1.phpt +++ b/ext/session/tests/session_cache_expire_variation1.phpt @@ -34,8 +34,6 @@ int(360) int(360) int(1234567890) bool(true) - -Warning: session_cache_expire(): Cannot change cache expire when session is active in %s on line 17 int(180) bool(true) int(180) diff --git a/ext/session/tests/session_cache_expire_variation2.phpt b/ext/session/tests/session_cache_expire_variation2.phpt index c3daae6..f17f471 100644 --- a/ext/session/tests/session_cache_expire_variation2.phpt +++ b/ext/session/tests/session_cache_expire_variation2.phpt @@ -33,8 +33,6 @@ int(360) int(360) int(1234567890) bool(true) - -Warning: session_cache_expire(): Cannot change cache expire when session is active in %s on line 18 int(180) bool(true) int(180) diff --git a/ext/session/tests/session_cache_expire_variation3.phpt b/ext/session/tests/session_cache_expire_variation3.phpt index d9f78df..c243c1f 100644 --- a/ext/session/tests/session_cache_expire_variation3.phpt +++ b/ext/session/tests/session_cache_expire_variation3.phpt @@ -38,8 +38,6 @@ string(3) "180" int(180) string(10) "1234567890" bool(true) - -Warning: session_cache_expire(): Cannot change cache expire when session is active in %s on line 19 int(1234567890) string(10) "1234567890" bool(true) diff --git a/ext/session/tests/session_cache_limiter_variation1.phpt b/ext/session/tests/session_cache_limiter_variation1.phpt index 7ba6211..5af208a 100644 --- a/ext/session/tests/session_cache_limiter_variation1.phpt +++ b/ext/session/tests/session_cache_limiter_variation1.phpt @@ -32,15 +32,11 @@ ob_end_flush(); *** Testing session_cache_limiter() : variation *** string(7) "nocache" bool(true) - -Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line 15 -bool(false) +string(7) "nocache" Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line 16 bool(false) - -Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line 17 -bool(false) +string(7) "nocache" bool(true) string(7) "nocache" Done diff --git a/ext/session/tests/session_cache_limiter_variation2.phpt b/ext/session/tests/session_cache_limiter_variation2.phpt index 9457101..eb63d99 100644 --- a/ext/session/tests/session_cache_limiter_variation2.phpt +++ b/ext/session/tests/session_cache_limiter_variation2.phpt @@ -31,15 +31,11 @@ ob_end_flush(); *** Testing session_cache_limiter() : variation *** string(7) "nocache" bool(true) - -Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line 16 -bool(false) +string(7) "nocache" Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line 17 bool(false) - -Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line 18 -bool(false) +string(7) "nocache" bool(true) string(7) "nocache" Done diff --git a/ext/session/tests/session_save_path_variation1.phpt b/ext/session/tests/session_save_path_variation1.phpt index 7f7130d..75533c8 100644 --- a/ext/session/tests/session_save_path_variation1.phpt +++ b/ext/session/tests/session_save_path_variation1.phpt @@ -42,15 +42,11 @@ string(0) "" string(0) "" string(%d) "%stests" bool(true) - -Warning: session_save_path(): Cannot change save path when session is active in %s on line 19 -bool(false) +string(%d) "%stests" Warning: session_save_path(): Cannot change save path when session is active in %s on line 20 bool(false) - -Warning: session_save_path(): Cannot change save path when session is active in %s on line 21 -bool(false) +string(%d) "%stests" bool(true) string(%d) "%stests" Done

« previous php.cvs (#98626) next »