Session 函数
在线手册:中文  英文

session_cache_expire

(PHP 4 >= 4.2.0, PHP 5)

session_cache_expireReturn current cache expire

说明

int session_cache_expire ([ string $new_cache_expire ] )

session_cache_expire() returns the current setting of session.cache_expire.

The cache expire is reset to the default value of 180 stored in session.cache_expire at request startup time. Thus, you need to call session_cache_expire() for every request (and before session_start() is called).

参数

new_cache_expire

If new_cache_expire is given, the current cache expire is replaced with new_cache_expire.

Note: Setting new_cache_expire is of value only, if session.cache_limiter is set to a value different from nocache.

返回值

Returns the current setting of session.cache_expire. The value returned should be read in minutes, defaults to 180.

范例

Example #1 session_cache_expire() example

<?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";
?>

参见


Session 函数
在线手册:中文  英文

用户评论:

karel at narfum dot org (2011-04-27 02:33:37)

What most people also don't know, is that most Linux distributions (Debian and Ubuntu for me atleast) have a cronbjob that cleans up your session dir using the value set in the global /etc/php5/php.ini (which defaults to 24mins). So even if you set a value larger in your scripts, the cronbjob will still cleanup sessions using the global value.
If you run into that situation, you can set the global value higher in /etc/php5/php.ini, disable the cronjob or even better, do your own session cleanup in a non-systemwide directory or a database.

Anonymous (2008-02-20 08:50:34)

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 (2005-06-17 14:47:37)

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.

易百教程