问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么设置session永不过期

发布网友 发布时间:2022-04-06 02:00

我来回答

3个回答

热心网友 时间:2022-04-06 03:29

打开php.ini设置文件
修改三行如下:
1、session.use_cookies
把这个的值设置为1,利用cookie来传递sessionid
2、session.cookie_lifetime
这个代表SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废……就是因为这个所以PHP的session不能永久使用! 那么我们把它设置为一个我们认为很大的数字吧,999999999怎么样,可以的!就这样。
3、session.gc_maxlifetime
这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除! 那么我们也把它设置为99999999。
就这样一切ok了,当然你不相信的话就测试一下看看——设置一个session值过个10天半个月的回来看看,如果你的电脑没有断电或者宕机,你仍然可以看见这个sessionid。
当然也可能你没有控*务器的权限并不能像我一样幸运的可以修改php.ini设置,一切依靠我们自己也是有办法的,当然就必须利用到客户端存储cookie了,吧得到的sessionID存储到客户端的cookie里面,设置这个cookie的值,然后把这个值传递给session_id()这个函数,具体做法如下:
代码如下

<?php
session_start(); // 启动Session
$_SESSION['count']; // 注册Session变量Count
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id();
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID

$_SESSION['count']++; // 变量count加1
setcookie('PHPSESSID', $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中
echo $count; // 显示Session变量count的值
?>
如果很久以后(多久?你自己看吧)你回来刷新这个页面,输出的数字比你走的时候大了1那就对了!如果大了很多,估计是谁动你电脑了,这次测试就不准确了,呵呵……重新出去一会儿吧!
注意:在setcookie一行中的’PHPSESSID’并不是一定的,如果你遇到有个患有修改狂疾病的网管员,他可能对其做了修改,最好的方法是用phpinfo()这个函数看看,确认一下session.name一项的值,比较科学。

热心网友 时间:2022-04-06 04:47

方法/步骤

方法一:web app server中,如websphere里可以设置超时时间为30分钟。

方法二:在web.xml中的session-config配置
session-timeout元素(WEB.XML文件中的元素)用来指定默认的会话超时时间间隔,以分钟为单位。该元素值必须为整数。如果 session-timeout元素的值为零或负数,则表示会话将永远不会超时。如:
<session-config> <session-timeout>30</session-timeout></session-config> //30分钟

方法三:setMaxInactiveInterval设置当前会话时间
setMaxInactiveInterval设置的是当前会话的失效时间,不是整个web的时间,单位为以秒计算。如果设置的值为零或负数,则表示会话将永远不会超时。常用于设置当前会话时间。该优先级要比方法三中的优先级高。

方法四:session中保存一个bean或者map,里面存储上相应的过期时间,一旦过期,remove掉。
方法四可以通过一个线程去扫描,如果时间带了,线程自动清除,或者用的时候进行判断,用过后进行remove,如果使用线程自动remove,可以使用spring的线程池

热心网友 时间:2022-04-06 06:22

方法1.web app server中,如websphere里可以设置超时时间为30分钟。 方法二:在web.xml中的session-config配置 session-timeout元素(WEB.XML文件中的元素)用来指定默认的会话超时时间间隔,以分钟为单位。该元素值必须为整数。如果 session-t
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
福建南安都有哪些市场 端午节去南安旅行的线路有哪些值得分享? 南安有哪些特色商业街 把一个棱长是10厘米的正方体铁块熔铸成一个底面积是20厘米的圆锥形铁块... 把一块棱长10厘米的正方体铁块熔铸成一个底面直径是20厘米的圆柱形零件... 0x0438ef0指令引用的0x0438ef0内存.该内存不能为“read”的错误提示... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(8.8-25.7mm、F1.8) Vl... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(24-70mm、F1.8-F2.8)-购... 索尼RX100 M5A数码相机 索尼RX100 M5A数码相机:小巧便携,成像卓越 php 怎么设置session 的值永不过期 php如何设置COOKIE控制登录用户的过期时间 请问一个php设置cookie有效期的问题 PHP即时cookie有效期时间怎么设置? 在php中怎么设置cookies的失效时间? 在php中能够设置cookie有效期的参数是? PHP即时cookie有效期时间怎么设置 php中 cookie 的时间怎么设置为永久的,除非客户删除了cookie php如何设置COOKIE控制登录用户的过期时间? php 取文件后缀名几种有效的方法 如何在apache中隐藏Php文件后缀 php改文件后缀名 将php文件的后缀名删除后还能否正常运行 phpstorm怎么把.php后缀去掉 如何去除PHP 隐藏后缀 解析,去除地址栏PHP后缀 php修改文件名后缀 怎么隐藏html php网页的后缀名?? PHP如何得到文件名(不要后缀名)? PHP 如何 得到文件名(不要后缀名) php修改文件名后缀? php设置cookie的问题? PHP的cookie问题 php是如何设置cookie的呢 php cookie怎么设置当天23:59:59过期 PHP设置cookie可否做到关闭标签页即失效 php object或者array怎么转换成string php object或者array如何转换成string-CSDN论坛 PHPPHP怎么将数组中的键值对都转换为字符串 linux查看php安装了哪些模块 如何查看已经php 已经安装了apc 模块 如果列出PHP语言中安装了哪些模块? linux查看php安装了哪些扩展 linux系统中如果列出PHP语言中安装了哪些模块? 如何查询在unix环境下PHP的安装路径 怎么看php7.0.9 curl安装成功 linux 怎么看php扩展模块是否加载成功 如何查看linux安装了哪些模块 php 对象数组 转换为字符串 如图[object Array]转成北京,北京,东城 PHP根据Ip跳转 PHP判断IP地址