1. 如何严格设置php中session过期时间
可以在PHP中,设置php.ini,找到session.gc_maxlifetime
=
1440
#(PHP5默认24分钟)
这里你可以随便设置一下过期时间.但是有人说设置以后,好象不起作用!
其实不是不起作用,而是因为系统默认:
session.gc_probability
=
1
session.gc_divisor
=
1000
以上设置的
1/1000就是session
1000次才有一次被回收。
只要你的访问量大了,那就能达到回收的效果.
或者你也可以设置一下session.gc_divisor
的值,
比如:session.gc_divisor
=
1,这样就能明显的看到SESSION过期的效果了.
2. 谁解释一下session的生命周期
session的生命周期是session会话域,打开一个浏览器请求一个网站的页面后,Session开始,当session超过时间限制(一般是30分种)后,session注销而失效 或是人为使用session.invalidate();使用session失效; 或是关闭浏览器后,session还存在,但是这里已经无法获取session了,过一会它还是失效。
3. 如何严格设置php中session过期时间
第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节
点属性值,当然也可以使用ini_set函数改变当前上下文环境的属性值:
ini_set('session.gc_maxlifetime', "3600"); // 秒
ini_set("session.cookie_lifetime","3600"); // 秒
第二种方法即设置Session时间戳,比如下面的办法。
在登录成功时设置时间戳为当前时间推后1小时,$_SESSION['expiretime'] = time() + 3600;。在
检查用户登录情况使用如下代码:
if(isset($_SESSION['expiretime'])) {
if($_SESSION['expiretime'] < time()) {
unset($_SESSION['expiretime']);
header('Location: logout.php?TIMEOUT'); // 登出
exit(0);
} else {
$_SESSION['expiretime'] = time() + 3600; // 刷新时间戳
}
}
两种方法可以结合使用。
4. 怎么理解PHP Session的用法 生命周期 过期时间
session简介
Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间以及如果需要的话,可能还有一定的操作空间。
具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。
需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器建立连接时所处的Session是两个不同的Session。
5. PHP中SESSION的有效时间是多长
session有效时长可以通过修改服务器端配置文件来修改时长
默认配置时长为1小时
6. php怎么设置某个session的过期时间
可以在PHP中,设置php.ini,找到session.gc_maxlifetime = 1440 #(PHP5默认24分钟) 这里你可以随便设置一下过期时间.但是有人说设置以后,好象不起作用! 其实不是不起作用,而是因为系统默认: session.gc_probability = 1 session.gc_divisor = 1000...
7. 如何严格设置php中session过期时间
如何严格限制session在30分钟后过期!
1.设置客户端cookie的lifetime为30分钟;
2.设置session的最大存活周期也为30分钟;
3.为每个session值加入时间戳,然后在程序调用时进行判断;
至于为什么,我们首先来了解下php中session的基本原理:
PHP中的session有效期默认是1440秒(24分钟),也就是说,客户端超过24分钟没有刷新,当前session就会失效。当然如果用户关闭了浏览器,会话也就结束了,Session自然也不存在了!
大家知道,Session储存在服务器端,根据客户端提供的SessionID来得到这个用户的文件,然后读取文件,取得变量的值,SessionID可以使用客户端的Cookie或者Http1.1协议的
Query_String(就是访问的URL的“?”后面的部分)来传送给服务器,然后服务器读取Session的目录……
要控制Session的生命周期,首先我们需要了解一下php.ini关于Session的相关设置(打开php.ini文件,在“[Session]”部分):
1、session.use_cookies:默认的值是“1”,代表SessionID使用Cookie来传递,反之就是使用Query_String来传递;
2、session.name:这个就是SessionID储存的变量名称,可能是Cookie,也可能是Query_String来传递,默认值是“PHPSESSID”;
3、session.cookie_lifetime:这个代表SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废……就是因为这个所以Session不能永久使用!
4、session.gc_maxlifetime:这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除! ...展开如何严格限制session在30分钟后过期!
1.设置客户端cookie的lifetime为30分钟;
2.设置session的最大存活周期也为30分钟;
3.为每个session值加入时间戳,然后在程序调用时进行判断;
至于为什么,我们首先来了解下php中session的基本原理:
这样试试呢,我在后盾人看见的不知道对不对,希望能帮到你☝(Θ㉨Θ)你们还是图样
8. php 当session超时时(前)处理代码写在哪
php中session的时间一般是在php.ini中设置的,如果你不愿意在那里设置,参考一下下面的代码。
在你设置session的页面中
session_start();
$_SESSION[ 'session_time ']=time(); //这个用来计时
$_SESSIOM[ 'user']= "username";
要检验session是否超时的页面:
session_start();
$timeout=600; //超时时间,单位:秒,这里设为10分钟.
$now=time();
if(($now-$_SESSION[ 'session_time '])> $timeout)
{
//超时了.
unset($_SESSION[ 'user']);
//在这里写上删除数据的代码
.......
}else{
//还没超时.
$_SESSION[ 'session_time ']=time();
}
9. thinkphp 怎么配置session过期时间
不要session_start()
具体的你可以看下来介绍:
get(name) 获取 Session 值
getLocal(name) 获取本地化 Session 的值
set(name, value) 设置 Session 的值
setLocal(name, value) 设置本地化 Session 的值
is_set(name) 检查 Session 的值是否设置
is_setLocal(name) 检查本地化 Session 的值是否已经设置
pause() 暂停 session
clear() 清空 Session
clearLocal() 清空本地化 Session
destroy() 销毁 Session
isExpired() 检测 Session 是否过期
isIdle() 检测 Session 是否闲置