Longhorn PHP 2023 - Call for Papers


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

session_cache_expireПолучает и/или устанавливает срок действия текущего кеша


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

session_cache_expire() возвращает текущее значение настройки session.cache_expire.

Срок действия сбрасывается до значения по умолчанию (180), хранящегося в session.cache_expire во время запроса. Таким образом, нужно вызывать session_cache_expire() для каждого запроса (и до вызова session_start()).

Список параметров


Если value задан и не равен null, текущее время жизни заменяется на value.

Замечание: Настройка value имеет значение только, если для session.cache_limiter установлено значение, отличное от nocache.

Возвращаемые значения

Возвращает текущую настройку session.cache_expire. Возвращаемое значение должно рассматриваться в минутах, по умолчанию - 180. В случае, если изменить значение не удалось, возвращается false.

Список изменений

Версия Описание
8.0.0 value может принимать значение null.


Пример #1 Пример использования session_cache_expire()


/* установить ограничитель кеша на 'private' */

$cache_limiter = session_cache_limiter();

/* установить время жизни на 30 минут */
$cache_expire = session_cache_expire();

/* старт сессии */


"Ограничитель кеша теперь равен $cache_limiter<br />";
"Закешированные страницы сессии истекают через $cache_expire минут";

Смотрите также

add a note

User Contributed Notes 3 notes

15 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.
lance_rushing at hotmail dot com
17 years ago
I've encountered the same problem of loosing focus when using IE and a javascript window.location.refresh/replace().

After fusing around I found that a <meta http-equiv="refresh" content="600"> works without move the focus on the parent frame's form.  The down side is loading up the browser history and an annoying 'click' in IE on the page load.
9 years ago
Just to make things clear. If session.cache_limiter is set to private the following header will be sent in HTTP response:

Cache-Control    private, max-age=10800, pre-check=10800

Where 10800 is the amount of seconds - default value of 180 minutes set by session.cache_expire which you are enabled to change with session_cache_expire() on run-time
To Top