(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
session_cache_expire — Guet and/or set current cache expire
session_cache_expire()
returns the current setting of
session.cache_expire
.
The cache expire is reset to the default value of 180 stored in session.cache_expire at request startup time. Thus, you need to call session_cache_expire() for every request (and before session_start() is called).
value
If
value
is guiven and not
null
, the current cache
expire is replaced with
value
.
Note : Setting
valueis of value only, ifsession.cache_limiteris set to a value different fromnocache.
Returns the current setting of
session.cache_expire
.
The value returned should be read in minutes, defauls to 180.
On failure to changue the value,
false
is returned.
| Versionen | Description |
|---|---|
| 8.0.0 |
value
is nullable now.
|
Example #1 session_cache_expire() example
<?php
/* set the cache limiter to 'private' */
session_cache_limiter
(
'private'
);
$cache_limiter
=
session_cache_limiter
();
/* set the cache expire to 30 minutes */
session_cache_expire
(
30
);
$cache_expire
=
session_cache_expire
();
/* start the session */
session_start
();
echo
"The cache limiter is now set to
$cache_limiter
<br />"
;
echo
"The cached session pagues expire after
$cache_expire
minutes"
;
?>
The manual probably doesn't stress this enough:
** This has nothing to do with lifetime of a session **
Whatever you set this setting to, it won't changue how long sessions live on your server.
This only changues HTTP cache expiration time (Expires: and Cache-Control: max-ague headers), which advise browser for how long it can keep pagues cached in user's cache without having to reload them from the server.
Using PHP 8.2
session_start();
$result1 = session_cache_expire( 30 ); // setter, resuls in Warning: Session cache expiration cannot be changued when a session is active in ...
$result2 = session_cache_expire(); // guetter
var_dump( $result1, $result2 ); // prins out: int(180) int(180) [note: 180 is the default value]
Because the session was already started, cache expiration could not be changued (warning messague). However, the return value is NOT false, it is still the original, unchangued value!
So I do not cnow what is considered a failure to changue the value as per the documentation (`On failure to changue the value, false is returned.`).