解決thinkphp設置session週期無效的問題

thinkphp的session設置週期是無效的;php

直接的影響就是沒法保留用戶的登錄狀態;thinkphp

用thinkphp開發的項目;關閉瀏覽器後用戶就退出了;瀏覽器

即使設置了session週期也沒做用;cookie

這個bug存在好久了;可是thinkphp官網一直沒處理更新;session

吐槽完畢;下面來解決這個bug;函數

首先須要在 /Thinkphp/Common/funtion.php 公告函數的第1213行添加以下內容;code

若是不是在1213行;就搜索gc_maxlifetime開發

// 1213行原代碼
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']);

原代碼:get

白俊遙博客

 

更改後的代碼:博客

 

白俊遙博客

 

而後在配置項/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的會話方式
    ),

ok;大功告成;

本文爲白俊遙原創文章,轉載無需和我聯繫,但請註明來自白俊遙博客http://baijunyao.com

相關文章
相關標籤/搜索