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