PHP 8.1.0 RC 4 available for testing


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

session_cache_expireGet and/or set current cache expire


session_cache_expire ( int|null $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).



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

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

Valorile întoarse

Returns the current setting of session.cache_expire. The value returned should be read in minutes, defaults to 180. On failure to change the value, false is returned.

Istoricul schimbărilor

Versiune Descriere
8.0.0 value is nullable now.


Example #1 session_cache_expire() example


/* set the cache limiter to 'private' */

$cache_limiter session_cache_limiter();

/* set the cache expire to 30 minutes */
$cache_expire session_cache_expire();

/* start the session */


"The cache limiter is now set to $cache_limiter<br />";
"The cached session pages expire after $cache_expire minutes";

A se vedea și

add a note add a note

User Contributed Notes 3 notes

13 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 change how long sessions live on your server.

This only changes HTTP cache expiration time (Expires: and Cache-Control: max-age headers), which advise browser for how long it can keep pages cached in user's cache without having to reload them from the server.
lance_rushing at hotmail dot com
16 years ago
I've encountered the same problem of loosing focus when using IE and a javascript window.location.refresh/replace().

After fusing around I found that a <meta http-equiv="refresh" content="600"> works without move the focus on the parent frame's form.  The down side is loading up the browser history and an annoying 'click' in IE on the page load.
8 years ago
Just to make things clear. If session.cache_limiter is set to private the following header will be sent in HTTP response:

Cache-Control    private, max-age=10800, pre-check=10800

Where 10800 is the amount of seconds - default value of 180 minutes set by session.cache_expire which you are enabled to change with session_cache_expire() on run-time
To Top