PHP Velho Oeste 2024

session_cache_expire

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

session_cache_expireGet and/or set current cache expire

Descrierea

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

Parametri

value

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.

Exemple

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 pages expire after $cache_expire minutes";
?>

A se vedea și

add a note add a note

User Contributed Notes 2 notes

up
175
Anonymous
16 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.
up
0
tuncdan dot ozdemir dot peng at gmail dot com
2 months ago
Using PHP 8.2

session_start();

$result1 = session_cache_expire( 30 ); // setter, results in Warning: Session cache expiration cannot be changed when a session is active in ...

$result2 = session_cache_expire(); // getter

var_dump( $result1, $result2 ); // prints out: int(180) int(180)    [note: 180 is the default value]

Because the session was already started, cache expiration could not be changed (warning message).  However, the return value is NOT false, it is still the original, unchanged value!

So I do not know what is considered a failure to change the value as per the documentation (`On failure to change the value, false is returned.`).
To Top