我有一个只包含此代码的页面:
<?php
session_start();
echo session_id();
?>
在localhost上运行。在IE中,我的会话ID在每次加载页面时都会重置(即会话被重置,所有旧的会话信息都会丢失)。在任何其他浏览器中,它工作正常,我的会话ID在刷新时不会改变。
这种情况发生在浏览器模式IE7,IE8和IE9(实际浏览器= IE9)中。我已经接受了IE隐私(Cookie)设置,并接受了所有Cookie&#39;。然而,在开发者工具&#cache;&gt;中查看cookie信息&#39;没有任何显示。清除所有会话cookie既不会有帮助,也不会清除浏览器缓存。但是,在PHP会话存储目录中,每次刷新时都会创建一个新的会话文件。
php session config:
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 :(得分:0)
按“刷新”通常会发送与以前相同的请求 - 即使您已清除缓存。
完全关闭IE。转到控制面板,从那里打开“Internet选项”并删除cookie。如果你想确定,也清除缓存。然后打开IE并再次开始。