session_cache_expire

(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 の設定を返します。

リクエストがあった時点で、キャッシュの有効期限は session.cache_expire で設定されたデフォルト値にリセットされます。 そのため、すべてのリクエストにおいて (そしてsession_start() をコールする前に) session_cache_expire() をコールする必要があります。

パラメータ

value

value が指定され、null でない場合、 現在のキャッシュの有効期限は、 value で置換されます。

注意: session.cache_limiternocache以外の値にセットされている場合にのみ valueが有効となります。

戻り値

session.cache_expire の現在の設定を返します。 戻り値は分単位で、デフォルトは 180 です。 値の変更に失敗した場合は、false を返します。

変更履歴

バージョン 説明
8.0.0 value は、nullable になりました。

例1 session_cache_expire() の例

<?php

/* set the cache limiter to 'private' */

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

/* set the cache expire to 30 minutes */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* start the session */

session_start();

echo
"The cache limiter is now set to $cache_limiter<br />";
echo
"The cached session pages expire after $cache_expire minutes";
?>

参考

add a note add a note

User Contributed Notes 3 notes

up
133
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
-18
lance_rushing at hotmail dot com
18 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.
up
-21
WooDzu
10 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