PHP 8.5.0 Alpha 1 available for testing

session_cache_expire

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

session_cache_expireObtiene y/o define el tiempo de expiración de la caché

Descripción

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

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

El tiempo de expiración de la caché se reestablece a su valor por omisión de 180, almacenado en session.cache_limiter, al inicio de la petición. Por lo tanto, debe llamarse session_cache_expire() en cada petición (y antes de que session_start() sea llamada).

Parámetros

value

Si value es proporcionado y no null, la configuración actual de cache expire será reemplazada por value.

Nota: La directiva value solo tiene efecto si session.cache_limiter tiene un valor diferente de nocache.

Valores devueltos

Devuelve la configuración actual de session.cache_expire. El valor devuelto debe leerse en minutos, y por omisión, es 180. En caso de fallo al modificar el valor, false es devuelto.

Historial de cambios

Versión Descripción
8.0.0 value ahora es nullable.

Ejemplos

Ejemplo #1 Ejemplo con session_cache_expire()

<?php

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

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* Configura el tiempo de expiración a 30 minutos */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* Inicia la sesión */

session_start();

echo
"El limitador de caché ahora está fijado a $cache_limiter<br />";
echo
"La sesión en caché expirará después de $cache_expire minutos";
?>

Ver también

add a note

User Contributed Notes 2 notes

up
178
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 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
-1
tuncdan dot ozdemir dot peng at gmail dot com
1 year 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