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 在common/function.php中1074修改:
将
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)