2013-02-17 56 views
0

我有一个页面,只是这个代码:在本地主机上运行PHP会话ID重置IE中

<?php 
session_start(); 
echo session_id(); 
?> 

。在IE中,我的会话ID会在每次页面加载时重置(即会话重置,所有旧会话信息都会丢失)。在任何其他浏览器中,它工作得很好,我的会话ID在刷新时不会更改。

这发生在浏览器模式IE7,IE8和IE9(实际浏览器= IE9)。我在'接受所有Cookie'上获得了IE隐私(cookie)设置。然而,在开发人员工具的“缓存 - >查看cookie信息”中没有显示任何内容。清除所有会话cookie也无济于事,也不会清除浏览器缓存。但是,在PHP会话存储目录中,每次刷新时都会创建一个新的会话文件。

PHP会话配置:

session.auto_start Off Off 
session.bug_compat_42 On On 
session.bug_compat_warn On On 
session.cache_expire 180 180 
session.cache_limiter nocache nocache 
session.cookie_domain no value no value 
session.cookie_httponly Off Off 
session.cookie_lifetime 0 0 
session.cookie_path// 
session.cookie_secure Off Off 
session.entropy_file no value no value 
session.entropy_length 0 0 
session.gc_divisor 1000 1000 
session.gc_maxlifetime 1440 1440 
session.gc_probability 1 1 
session.hash_bits_per_character 5 5 
session.hash_function 0 0 
session.name PHPSESSID PHPSESSID 
session.referer_check no value no value 
session.save_handler files files 
session.save_path D:\webserver\environment\temp\sessions D:\webserver\environment\temp\sessions 
session.serialize_handler php php 
session.use_cookies On On 
session.use_only_cookies On On 
session.use_trans_sid 0 0 

那么奇怪的是这种情况只在IE浏览器,没有其他的浏览器和IE浏览器似乎是正确配置...

感谢您的任何提示!

+0

可能重复:http://stackoverflow.com/questions/306132/php-session-doesnt-work-with-ie – 2013-02-17 19:09:45

+0

设置'接受所有Cookie'是否包含**本地内部网**,或者您是否仅为** Internet **区域设置此设置? – martinstoeckli 2013-02-17 21:07:23

+0

@martinstoeckli是的,我在本地主机上测试时将其设置为本地Intranet。这是一个很好的提示,因为我没有在我的问题中指定它 – 2013-02-19 06:32:56

回答

0

即使您清除了缓存,按下“刷新”通常也会发送与之前相同的请求。

完全关闭IE。转到控制面板,从那里打开“Internet选项”并删除Cookie。如果你想确定,也要清除缓存。然后打开IE浏览器,再去一次。