PHPerKaigi 2024

session_cache_expire

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

session_cache_expireLiefert und/oder setzt die aktuelle Cache-Verfallszeit

Beschreibung

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

session_cache_expire() gibt die aktuelle Einstellung von session.cache_expire zurück.

Die Cache-Verfallszeit wird zu Beginn einer Anfrage auf den standardmäßigen Wert von 180, der in session.cache_expire gespeichert ist, zurückgesetzt. Folglich müssen Sie session_cache_expire() bei jeder Anfrage (und vor dem Aufruf von session_start()) aufrufen.

Parameter-Liste

value

Wenn value angegeben wurde und nicht null ist, wird die aktuelle Cache-Verfallszeit durch value ersetzt.

Hinweis: Das Setzen von value bewirkt nur dann etwas, wenn session.cache_limiter auf einen anderen Wert als nocache gesetzt ist.

Rückgabewerte

Gibt die aktuelle Einstellung von session.cache_expire zurück. Der zurückgegebene Wert wird in Minuten angegeben und ist standardmäßig auf 180 gesetzt. Falls die Änderung des Werts fehlschlägt, wird false zurückgegeben.

Changelog

Version Beschreibung
8.0.0 value ist nun ein Nullable-Typ.

Beispiele

Beispiel #1 session_cache_expire()-Beispiel

<?php

/* setzen der Cacheverwaltung auf 'private' */

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

/* setzen der Cache-Verfallszeit auf 30 Minuten */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* starten der Session */

session_start();

echo
"Die Cacheverwaltung ist jetzt auf $cache_limiter gesetzt<br />";
echo
"Die Session wird für $cache_expire Minuten im Cache gespeichert";
?>

Siehe auch

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
11 days 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