【问题标题】:PHP session ID reset in IEIE中的PHP会话ID重置
【发布时间】:2013-02-17 19:04:11
【问题描述】:

我有一个只有这段代码的页面:

<?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 似乎配置正确......

感谢任何提示!

【问题讨论】:

  • “接受所有 cookie”设置是否包括 本地 Intranet,还是您只为 Internet 区域进行了此设置?
  • @martinstoeckli 是的,当我在 localhost 上进行测试时,我为本地 Intranet 设置了它。这是一个很好的提示,因为我没有在我的问题中指定它

标签: php session session-cookies


【解决方案1】:

按“刷新”通常会发送与以前相同的请求 - 即使您已清除缓存。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 2018-09-05
    • 1970-01-01
    • 2011-08-30
    相关资源
    最近更新 更多