溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

解決thinkphp設(shè)置session周期無效的問題

發(fā)布時間:2020-07-12 15:32:27 來源:網(wǎng)絡(luò) 閱讀:483 作者:帥白123 欄目:web開發(fā)

thinkphp的session設(shè)置周期是無效的;

直接的影響就是無法保留用戶的登陸狀態(tài);

用thinkphp開發(fā)的項目;關(guān)閉瀏覽器后用戶就退出了;

即便設(shè)置了session周期也沒作用;

這個bug存在很久了;但是thinkphp官網(wǎng)一直沒處理更新;

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

首先需要在 /Thinkphp/Common/funtion.php 公告函數(shù)的第1213行添加如下內(nèi)容;

如果不是在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']);

原代碼:

解決thinkphp設(shè)置session周期無效的問題


更改后的代碼:


解決thinkphp設(shè)置session周期無效的問題


然后在配置項/Application/Common/conf/config.php中添加如下代碼

//***********************************SESSION設(shè)置**********************************
    'SESSION_OPTIONS'         =>  array(
        'name'                =>  'BJYSESSION',                    //設(shè)置session名
        'expire'              =>  24*3600*15,                      //SESSION保存15天
        'use_trans_sid'       =>  1,                               //跨頁傳遞
        'use_only_cookies'    =>  0,                               //是否只開啟基于cookies的session的會話方式
    ),

ok;大功告成;


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI