PHP 8.4.0 RC4 available for testing

session_cache_expire

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

session_cache_expireRécupère et/ou définie le délai d'expiration du cache

Description

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

session_cache_expire() retourne la configuration actuelle de session.cache_expire.

Le délai d'expiration du cache est remis à sa valeur par défaut de 180, stockée dans session.cache_limiter, au démarrage de la requête. Par conséquent, vous devez appeler session_cache_expire() à chaque requête (et avant que session_start() ne soit appelée).

Liste de paramètres

value

Si value est fourni et non null, la configuration actuelle de cache expire sera remplacée par value.

Note: La directive value n'a de valeur que si session.cache_limiter a une valeur différente de nocache.

Valeurs de retour

Retourne la configuration courante de session.cache_expire. La valeur retournée doit être lue en minutes, et vaut par défaut, 180. En cas d'échec de modification de la valeur, false est retourné.

Historique

Version Description
8.0.0 value est désormais nullable.

Exemples

Exemple #1 Exemple avec session_cache_expire()

<?php

/* Configure le limiteur de cache à 'private' */

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

/* Configure le délai d'expiration à 30 minutes */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* Démarre la session */

session_start();

echo
"Le limiteur de cache est maintenant fixé à $cache_limiter<br />";
echo
"La session en cache va expirer après $cache_expire minutes";
?>

Voir aussi

add a note

User Contributed Notes 2 notes

up
176
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
8 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