IIS7,IIS7.5在高版本IE下丢失session,每次刷新页面,都会生成新的sessionID

测试脚本为php,IE版本为ie9,其它内核浏览器ff,chrome,safari下都没有这个问题。
发现这个问题的时候,是做了一个登录页,使用$_SESSION来判断,ie就是登不上去,其它浏览器没问题。
后来测试了一下printsession_id();ie下每次刷新页面的值都不一样,打开d:\tmp\session(这是php.ini里面设置的session存储位置),每次刷新增加一个session文件,当然这在其它浏览器下也不存在。
后来嘛,临时做了个解决方案,就是在php页面里设置一个cookie
session_start();
setcookie('PHPSESSID',session_id());
算是临时解决了,但是……蛋还是继续的疼下去了,服务器(win2008x86iis7fastcgiphp5.2.17nts)上放了一个drupal,经常有人反应登陆不了,不用猜,肯定是用IE登不上,这事烦恼的我啊,我可不想去改drupal...反正几个月以来,都在找答案。
现在,答案已经没那么重要了,只希望有解决办法,请各位走过路过的朋友们,给点您的经验,帮帮我这迷途的羔羊。。
顺便提一下,在寻找答案的路上,找到了一个和我一样问题的人,但是解决方案我没搞明白,因为可以肯定的是,我的域名没有下划线。。http://forums.iis.net/t/1150171.aspx
请看得明白这个帖子的朋友,也给指点一下。
附上抓包数据(隐去了域名):
IE下:
GET/index.phpHTTP/1.1
Accept:text/html,application/xhtml+xml,*/*
Accept-Language:zh-CN
User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0)
Accept-Encoding:gzip,deflate
Host:***.***.cn
Connection:Keep-Alive
Cookie:has_js=1
HTTP/1.1200OK
Cache-Control:public,max-age=600
Content-Type:text/html;charset=utf-8
Content-Language:zh-hans
Expires:Sun,19Nov197805:00:00GMT
Last-Modified:Mon,12Aug201305:54:19+0000
ETag:"1376286859-0"
Vary:Cookie
Server:Microsoft-IIS/7.0
X-Powered-By:PHP/5.2.17
X-Drupal-Cache:MISS
X-Generator:Drupal7(http://drupal.org)
X-Powered-By:ASP.NET
Date:Mon,12Aug201305:54:37GMT
Connection:keep-alive
Content-Length:9829
POST/?q=front-page&destination=front-pageHTTP/1.1
Accept:text/html,application/xhtml+xml,*/*
Referer:http://***.***.cn/index.php
Accept-Language:zh-CN
User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0)
Content-Type:application/x-www-form-urlencoded
Accept-Encoding:gzip,deflate
Host:***.***.cn
Content-Length:129
Connection:Keep-Alive
Cache-Control:no-cache
Cookie:has_js=1
HTTP/1.1302Redirect
Cache-Control:no-cache,must-revalidate,post-check=0,pre-check=0
Content-Type:text/html;charset=UTF-8
Expires:Sun,19Nov197805:00:00GMT
Last-Modified:Mon,12Aug201306:02:32+0000
ETag:"1376287352"
Location:http://***.***.cn/?q=front-page
Server:Microsoft-IIS/7.0
X-Powered-By:PHP/5.2.17
X-Drupal-Cache:MISS
Set-Cookie:SESS6a2ee0acf5e5bd0d9cea678a1bb7540f=S2CFFREDq47DBALxDLxlCVzhqnI98MMm4yHPY_k7dho;expires=Wed,04-Sep-201309:35:57GMT;path=D:/tmp/cook;domain=.***.***.cn;HttpOnly
X-Powered-By:ASP.NET
Date:Mon,12Aug201306:02:37GMT
Connection:keep-alive
Content-Length:155
firefox下:
GET/index.phpHTTP/1.1
Host:***.***.cn
User-Agent:Mozilla/5.0(WindowsNT6.1;rv:22.0)Gecko/20100101Firefox/22.0
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding:gzip,deflate
Cookie:Drupal.toolbar.collapsed=0;has_js=1
Connection:keep-alive
If-Modified-Since:Mon,12Aug201305:56:10+0000
If-None-Match:"1376286970"
HTTP/1.1200OK
Cache-Control:no-cache,must-revalidate,post-check=0,pre-check=0
Content-Type:text/html;charset=utf-8
Content-Language:zh-hans
Expires:Sun,19Nov197805:00:00GMT
Last-Modified:Mon,12Aug201305:56:51+0000
ETag:"1376287011"
Server:Microsoft-IIS/7.0
X-Powered-By:PHP/5.2.17
X-Generator:Drupal7(http://drupal.org)
X-Powered-By:ASP.NET
Date:Mon,12Aug201305:56:56GMT
Connection:keep-alive
Content-Length:18842
POST/?q=front-page&destination=front-pageHTTP/1.1
Host:***.***.cn
User-Agent:Mozilla/5.0(WindowsNT6.1;rv:22.0)Gecko/20100101Firefox/22.0
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding:gzip,deflate
Referer:http://***.***.cn/
Cookie:Drupal.toolbar.collapsed=0;has_js=1
Connection:keep-alive
Content-Type:application/x-www-form-urlencoded
Content-Length:129
HTTP/1.1302Redirect
Cache-Control:no-cache,must-revalidate,post-check=0,pre-check=0
Content-Type:text/html;charset=UTF-8
Expires:Sun,19Nov197805:00:00GMT
Last-Modified:Mon,12Aug201305:59:42+0000
ETag:"1376287182"
Location:http://***.***.cn/?q=front-page
Server:Microsoft-IIS/7.0
X-Powered-By:PHP/5.2.17
X-Drupal-Cache:MISS
Set-Cookie:SESS6a2ee0acf5e5bd0d9cea678a1bb7540f=DjNRVBdGXEVPumZnszKG9U8bAP0dHqx5wp8jFhJV81U;expires=Wed,04-Sep-201309:33:07GMT;path=D:/tmp/cook;domain=.***.***.cn;HttpOnly
X-Powered-By:ASP.NET
Date:Mon,12Aug201305:59:47GMT
Connection:keep-alive
Content-Length:155
GCT1015
浏览 748回答 2
2回答

largeQ

自己给自己结贴,终于发现问题出在哪里了,这真的是我的错。因为我把php.ini里面的一个变量:session.cookie_path的意思理解错了,填成d:\tmp,所以大家都没法登陆进去。现在改成空,已经正常了。

料青山看我应如是

补充一下:session.cookie_path是指session生效的网站域;session.save_path是指存储session临时文件的路径。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript