【问题标题】:PHP session variables issue with IE only仅 IE 的 PHP 会话变量问题
【发布时间】:2016-06-13 23:39:44
【问题描述】:

我有一个问题,我 99% 肯定与 Internet Explorer 有关(不可能!):会话变量没有从一个文件传送到另一个文件(在同一个域上)。这些页面由 IIS 7 提供服务。

为了简化问题解决过程,我创建了两个测试文件:

test_1.php:

<?php
session_start();
$_SESSION['test'] = '123';
?>
<a href="test_2.php">Go to result</a>

test_2.php:

<?php
session_start();
echo $_SESSION['test'];
session_unset();
?>
<a href="test_1.php">Go to page 1</a>

这在 Chrome 33.0.1750.154 和 Firefox 28.0 中按预期工作,但在 IE9 中我收到以下错误:

Notice: Undefined index: test in D:\test_2.php on line 3

我是否遗漏了一些明显的东西?

谢谢

【问题讨论】:

  • 您的 IE 副本是否阻止 cookie?
  • 确保session_id() 在两个脚本中返回相同的值。如果您得到不同的值,那么您的会话 cookie 设置不正确,并且您在每个脚本中获得了不同的会话。
  • cfr John Conde,不同的浏览器设置(用于 cookie、安全等)是对此唯一合理的解释。面对客户端问题(因浏览器而异)时,请始终查看客户端部分。会话的客户端部分是什么? cookie(大部分时间)
  • ID 不同(仅在 IE 中!),所以这是一个开始。我们在网络上,所有计算机(我们测试过的)似乎都受到了影响,因此很可能是需要全局设置的 cookie 设置。你知道这可能是什么吗?谢谢

标签: php session iis


【解决方案1】:

this answer 的帮助下,我终于意识到这个问题是由于 IIS 虚拟目录/应用程序中有一个下划线

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2011-12-10
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2011-11-21
    相关资源
    最近更新 更多