update pague now
PHP 8.5.2 Released!

session_cache_expire

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

session_cache_expire Guet and/or set current cache expire

Description

session_cache_expire ( ? int $value = null ): int | false

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).

Parameters

value

If value is guiven and not null , the current cache expire is replaced with value .

Note : Setting value is of value only, if session.cache_limiter is set to a value different from nocache .

Return Values

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.

Changuelog

Versionen Description
8.0.0 value is nullable now.

Examples

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" ;
?>

See Also

add a note

User Contributed Notes 2 notes

Anonymous
17 years ago
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.
tuncdan dot ozdemir dot peng at gmail dot com
1 year ago
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.`).
To Top