mirror of
https://github.com/php/php-src.git
synced 2026-04-27 18:23:26 +02:00
383ff8c63f
When session.cookie_lifetime was set to a value larger than maxcookie, OnUpdateCookieLifetime returned SUCCESS without updating the internal long value, causing ini_get() string and PS(cookie_lifetime) to go out of sync. We now properly parse the string value of the ini setting and fail when it is not an integer string or is not within the expected range.
49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
--TEST--
|
|
Test session_set_cookie_params() function : variation
|
|
--INI--
|
|
session.cookie_lifetime=3600
|
|
--EXTENSIONS--
|
|
session
|
|
--SKIPIF--
|
|
<?php include('skipif.inc'); ?>
|
|
--FILE--
|
|
<?php
|
|
|
|
ob_start();
|
|
|
|
echo "*** Testing session_set_cookie_params() : variation ***\n";
|
|
|
|
var_dump(ini_get("session.cookie_lifetime"));
|
|
var_dump(session_set_cookie_params(3600));
|
|
var_dump(ini_get("session.cookie_lifetime"));
|
|
|
|
var_dump(session_start());
|
|
var_dump(ini_get("session.cookie_lifetime"));
|
|
var_dump(session_set_cookie_params(1800));
|
|
var_dump(ini_get("session.cookie_lifetime"));
|
|
var_dump(session_destroy());
|
|
|
|
var_dump(ini_get("session.cookie_lifetime"));
|
|
var_dump(session_set_cookie_params(1000000000));
|
|
var_dump(ini_get("session.cookie_lifetime"));
|
|
|
|
echo "Done";
|
|
ob_end_flush();
|
|
?>
|
|
--EXPECTF--
|
|
*** Testing session_set_cookie_params() : variation ***
|
|
string(4) "3600"
|
|
bool(true)
|
|
string(4) "3600"
|
|
bool(true)
|
|
string(4) "3600"
|
|
|
|
Warning: session_set_cookie_params(): Session cookie parameters cannot be changed when a session is active (started from %s on line %d) in %s on line %d
|
|
bool(false)
|
|
string(4) "3600"
|
|
bool(true)
|
|
string(4) "3600"
|
|
bool(true)
|
|
string(10) "1000000000"
|
|
Done
|