php SESSION时效的问题。关闭浏览器 服务器的 session没有消失,还存在。

SESSION时效的问题。我看书上说,SESSION会在浏览器关闭后自动消失。但是我做了个实验,用户登陆后,产生session,在服务器中可以查看到这个session文件... SESSION时效的问题。
我看书上说,SESSION会在浏览器关闭后自动消失。
但是我做了个实验,用户登陆后,产生session,在服务器中可以查看到这个session文件,关闭浏览器 这个文件还存在?打开同一网站,然后再重新登录会产生一个新的session。

扩展开来有产生另一个问题:服务器怎么直到用户关闭浏览器了?
展开
 我来答
yukon12345
推荐于2016-06-26 · TA获得超过1713个赞
知道大有可为答主
回答量:1827
采纳率:66%
帮助的人:1005万
展开全部
session会在服务器存在一定时间,php5默认是1440秒。就是说你把网页关闭了这个session还存在服务器里1440秒。
为什么关了浏览器session会生成新的呢,牵扯到一个浏览器的数据传输问题。
新开一个全新的浏览器(IE6下是点击ie图标新开一个窗口),浏览器没有带sessionD这个值(php里名字叫PHPSESSID),服务器就判断这是一个新请求,返回给浏览器一个新的SESSIONID,然后每次刷新或者打开新页面,浏览器会默认把这个SESSIONID传给服务器,这个值在http head里,你用抓包软件可以看到。
服务器接受了这个sessionID,就会知道是哪个SESSION,再取出一系列这个id对应的SESSION值。
追问
php.ini里边session.cookie.life_time=0;不就是关闭浏览器删除session吗?可是我的还存在啊。

虽然关闭浏览器会产生心得sessionID,但我可以认为是另一用户在另一台电脑上的操作啊。
服务器如何知道 用户 关闭了浏览器呢?
追答
长时间没有sessionID传过来,比如1440秒,服务器自动杀掉。
session.gc_maxlifetime 才是session生存时间。
不管你是什么用户在什么电脑上操作,服务器默认只认sessionID。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式