1. 程式人生 > >【TP3.2.*】解決session過期不失效 和 設置不成功問題

【TP3.2.*】解決session過期不失效 和 設置不成功問題

lifetime runtime isset 清除 不成功 use 問題 func true

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過期不失效 和 設置不成功問題