解决thinkphp设置session周期无效的问题ThinkPHP教程

/ / 2016-05-31   阅读:2494
thinkphp的session设置周期是无效的,直接的影响就是无法保留用户的登陆状态,用thinkphp开发的项目,关闭浏览器后用户就退出了,即便设置了session周期也没作用,这个bug存在很久了,但是thinkphp官网一直没处理更...
thinkphp的session设置周期是无效的,直接的影响就是无法保留用户的登陆状态,用thinkphp开发的项目,关闭浏览器后用户就退出了,即便设置了session周期也没作用,这个bug存在很久了,但是thinkphp官网一直没处理更新。
吐槽完毕,下面来解决这个bug:

首先需要修改/Thinkphp/Common/funtion.php公告函数,位于第1213行,如果不是在1213行,就搜索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']);

然后在配置项/Application/Common/conf/config.php中添加如下代码:
//***********************************SESSION设置**********************************
    'SESSION_OPTIONS'         =>  array(
        'name'                =>  'BJYSESSION',                    //设置session名
        'expire'              =>  24*3600*15,                      //SESSION保存15天
        'use_trans_sid'       =>  1,                               //跨页传递
        'use_only_cookies'    =>  0,                               //是否只开启基于cookies的session的会话方式
    ),

我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈