Home > php教程 > php手册 > body text

php下session过期时间的设置方法

WBOY
Release: 2016-05-25 16:48:09
Original
898 people have browsed it

如果客户端没有禁用 Cookie,则 Cookie 在启动 Session 会话的时候扮演的是存储 Session ID 和 Session 生存期的角色。我们来手动设置 Session 的生存期:

例子,利用cooikes

<?php
session_start();
// 保存一天
$lifeTime = 24 * 3600;
setcookie(session_name() , session_id() , time() + $lifeTime, "/");
?>
Copy after login

PHP5 Session还提供了一个函数 session_set_cookie_params(); 来设置PHP5 Session的生存期的,该函数必须在 session_start() 函数调用之前调用:

<?php
// 保存一天
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();
?>
Copy after login

php中还有一个ini_set可以设置session.gc_maxlifetime来设定Session的生存周期。例如:

<?php
ini_set(&#39;session.gc_maxlifetime&#39;, 3600); //设置时间
ini_get(&#39;session.gc_maxlifetime&#39;); //得到ini中设定值
?>
Copy after login

下面提供一个别人封装好的函数,但是我没有测试过,仅供参考:

<?php
function start_session($expire = 0) {
    if ($expire == 0) {
        $expire = ini_get(&#39;session.gc_maxlifetime&#39;);
    } else {
        ini_set(&#39;session.gc_maxlifetime&#39;, $expire);
    }
    if (empty($_COOKIE[&#39;PHPSESSID&#39;])) {
        session_set_cookie_params($expire);
        session_start();
    } else {
        session_start();
        setcookie(&#39;PHPSESSID&#39;, session_id() , time() + $expire);
    }
}
?>
Copy after login

使用方法:

加入start_session(600);//600秒以后过期。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!