PHP 8.1.28 Released!


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

session_cache_expireDevuelve la caducidad de la caché actual


session_cache_expire(string $new_cache_expire = ?): int

session_cache_expire() devuelve la configuración actual de session.cache_expire.

La caducidad de la caché se reinicia al valor predeterminado de 180 almacenado en session.cache_expire en el momento de iniciar una petición. Por lo tanto, se necesita llamar a session_cache_expire() por cada petición (y antes de llamar a session_start()).



Si se da new_cache_expire, la nueva caducidad de la caché se reemplaza por new_cache_expire.

Nota: La configuración de new_cache_expire es de valores sólamente, si session.cache_limiter se establece a un valor diferente de nocache.

Valores devueltos

Devuelve la configuración actual de session.cache_expire. El valor devuelto se debería leer en minutos, por defecto es 180.


Ejemplo #1 Ejemplo de session_cache_expire()


/* establecer el limitador de caché a 'private' */

$cache_limiter = session_cache_limiter();

/* establecer la caducidad de la caché a 30 minutos */
$cache_expire = session_cache_expire();

/* iniciar la sesión */


"El limitador de caché ahora está establecido a $cache_limiter<br />";
"Las páginas de sesión examinadas caducan después de $cache_expire minutos";

Ver también

add a note

User Contributed Notes 2 notes

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.
tuncdan dot ozdemir dot peng at gmail dot com
1 month ago
Using PHP 8.2


$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