PHP Conference Nagoya 2025

session_cache_expire

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

session_cache_expireÖnbelleğe alınan oturumun ömrünü tanımlar veya döndürür

Açıklama

session_cache_expire(?int $süre = null): int|false

session_cache_expire() işlevi, session.cache_expire yönergesinin değerini döndürür.

Bu değer, isteğin başlangıcında session.cache_expire yönergesinin 180 dakikalık öntanımlı değeriyle sıfırlanır. Bu bakımdan her istek için session_start() çağrısından önce bir session_cache_expire() çağrısı yapmanız gerekir.

Bağımsız Değişkenler

süre

Belirtilmişse ve null değilse, geçerli önbellek ömrü bu değerle değiştirilir.

Bilginize: süre değeri, sadece session.cache_limiter yönergesine nocache'den farklı bir değer atanmışsa eski değerle değiştirilir.

Dönen Değerler

session.cache_expire yönergesinin değerini dakika cinsinden döndürür. Öntanımlı değer 180 dakikadır. Süreyi değiştiremezse false döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 süre artık null olabiliyor.

Örnekler

Örnek 1 - session_cache_expire() örneği

<?php

/* önbellek sınırlayıcıya 'private' atayalım */

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

/* önbellek ömrünü 30 dakika yapalım */
session_cache_expire(30);
$ömür = session_cache_expire();

/* oturumu başlatalım */

session_start();

echo
"Önbellek sınırlayıcıya $cache_limiter kipi atandı.<br />";
echo
"Önbellekteki sayfalar $ömür dakika sonra zaman aşımına uğrayacak";
?>

Ayrıca Bakınız

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
9 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