TP3.2.*解决session过期不失效 和 设置不成功问题

Posted PHP急先锋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TP3.2.*解决session过期不失效 和 设置不成功问题相关的知识,希望对你有一定的参考价值。

1、背景:本来我想设置session有效期1800秒即30分钟 失效的,可是实际使用TP3.2.0的时候发现,登录了几天用户竟然没有失效,一直都可以登录。

2、解决:

  2.1 在config.php中设置SESSION_OPTIONS数组

/* SESSION全局配置 */
    ‘SESSION_OPTIONS‘ => array(
        ‘path‘ => RUNTIME_PATH . ‘Temp/‘,
        ‘use_cookies‘ => 1,         //是否在客户端用 cookie 来存放会话 ID,1是开启
        ‘use_trans_sid‘ => true,    //跨页传递
        ‘expire‘ => 1800,
    ),

  2.2 在ThinkPHP/common/functions.php中1074修改(或全局搜索【gc_maxlifetime】):

  将 

if(isset($name[‘expire‘]))          ini_set(‘session.gc_maxlifetime‘, $name[‘expire‘]);

  修改成:

if(isset($name[‘expire‘])){ini_set(‘session.gc_maxlifetime‘, $name[‘expire‘]);ini_set(‘session.cookie_lifetime‘, $name[‘expire‘]);}

  保存,清除浏览器和服务器RunTime/Temp 下缓存,再次登录页面,等待过期即可。(测试时候可以设置expire=10)

 

以上是关于TP3.2.*解决session过期不失效 和 设置不成功问题的主要内容,如果未能解决你的问题,请参考以下文章

session过期怎么恢复

session 失效 时间

session过期啥意思

Session过期失效时间

机器Session总是过期 怎么解决?

机器Session总是过期 怎么解决?