【TP3.2.*】解决session过期不失效 和 设置不成功问题

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)

原文地址:https://www.cnblogs.com/xuzhengzong/p/8970462.html

时间: 2024-08-04 15:30:15

【TP3.2.*】解决session过期不失效 和 设置不成功问题的相关文章

解决session过期后登录页面嵌套在框架中的问题

只要在登录页面中加入一下脚本即可: <script language="text/javascript"> //在嵌套时,就刷新上级窗口 if(window.parent!=window){ window.parent.location.reload(true); } </script> 解决session过期后登录页面嵌套在框架中的问题,布布扣,bubuko.com

解决session过期跳转到登录页并跳出iframe框架

可以用javaScript解决 在你想控制跳转的页面,比如login.jsp中的<head>与</head>之间加入以下代码: <script language="JavaScript"> if (window != top) top.location.href = location.href; </script> 则在系统超时想在框架中打开登录页时,则login.jsp自身进行判断后跳出iframe等框架要.

TP5解决session短时间过期问题

在项目config.php文件中设置session和cookie 'session' => [ // 是否自动开启 SESSION 'auto_start' => true, // session 持续时间 'expire' => 36000, ], // +---------------------------------------------------------------------- // | Cookie设置 // +---------------------------

转:php中实现精确设置session过期时间的方法

原文来自于:http://www.jb51.net/article/52309.htm 大多数据情况下我们对于session过期时间使用的是默认设置的时间,而对于一些有特殊要求的情况下我们可以设置一下session过期时间. 对此,可以在PHP中,设置php.ini,找到session.gc_maxlifetime = 1440 #(PHP5默认24分钟)这里你可以随便设置一下过期时间.但是有人说设置以后,好象不起作用!其实不是不起作用,而是因为系统默认: ? 1 2 session.gc_pr

session过期后自动跳转到登陆页

项目需要做一个自动登出的功能,查询了网上的资料,一开始准备用session监听做,按照下面方式配置监听器 1.在项目的web.xml文件中添加如下代码: <!--添加Session监听器--> <listener> <listener-class> 监听器路径 </listener-class> </listener> 2.编写java类. public class SessionListener implements HttpSessionLi

自定义session过期时间

参考:http://www.jb51.net/article/52309.htm 在PHP中,设置php.ini,找到session.gc_maxlifetime = 1440 #(PHP5默认24分钟). 这里你可以随便设置一下过期时间.但是有人说设置以后,好象不起作用! 其实不是不起作用,而是因为系统默认: session.gc_probability = 1 session.gc_divisor = 1000 garbage collection 有个概率的,1/1000就是session

如何严格设置php中session过期时间

如何严格限制session在30分钟后过期!1.设置客户端cookie的lifetime为30分钟:2.设置session的最大存活周期也为30分钟:3.为每个session值加入时间戳,然后在程序调用时进行判断: 至于为什么,我们首先来了解下php中session的基本原理: PHP中的session有效期默认是1440秒(24分钟),也就是说,客户端超过24分钟没有刷新,当前session就会失效.当然如果用户关闭了浏览器,会话也就结束了,Session自然也不存在了!大家知道,Sessio

关于使用struts2时子窗体页面跳转后在父窗体打开的问题以及Session过期后的页面跳转问题

问题1:传统的系统界面,iframe了三个页面,上,左,右,用户点击注销的按钮在上面得top.jsp里面,方法:<a href="../adminAction/admin_logout.action">退出系统</a>退出之后你会发现,只是刷新了top.jsp上面那个iframe,其他两个还在,如何解决? 解决办法: target="_top",就就是它.加多这个变成:<a href="../adminAction/admin

session过期情况下弹出窗口显示2个登陆页面的问题处理

根据多年的web开发经验,一般当session过期之后,当用户点击任何一个按钮之类的,都是自动跳转到登陆页面,这个在网上有很多过滤器,拦截器实现. 那么在使用类似jquery easy ui的时候,如果页面有一些弹出窗口,是在弹出了窗口再去加载地址拉数据出来的,就会出现父页面跳到登陆页面,弹出页面也跳到登陆页面. 如何解决这个问题呢,我的办法如下: 首先,在过滤器中如果是session过期的话,自动跳到登陆页面,并且带上一个固定参数,在页面index.jsp中获取这个参数,如果存在. 其实就是在