【发布时间】:2012-07-23 05:46:20
【问题描述】:
我在本地 windows xp pc 上运行 xampp 1.7.3。 phpinfo() 确认会话已启用。
在“login.php”中,我必须遵循以下代码:
session_start();
$_SESSION['user'] = "user";
//var_dump($_SESSION);
header("Location: index.php");
在'index.php'我有这个代码:
session_start();
var_dump($_SESSION);
但是,当我到达 index.php 时,没有打印任何内容,$_SESSION 信息似乎丢失了(因为它是在我取消注释 login.php 中的 var_dump 时打印的)。在 php.ini 中,我检查了 session.save_path。在这个路径中,我可以找到一个会话文件,其中包含存储在 login.php 中的会话信息。但是为什么会话信息没有传递到index.php??这是出于某种原因,因为我在本地主机上运行吗?
【问题讨论】:
-
您是否启用了错误报告?
-
正如 Truth 已经提到的,确保您可以看到所有错误和警告
error_reporting(E_ALL);,并确保您的浏览器允许存储 cookie。 -
感谢您的提示。错误报告已启用 (error_reporting(E_ALL);) 并且浏览器也可以存储 cookie。
-
尝试使用 fiddler / iehttpheaders / tamperdata / firebug 查看 http 流以检查 cookie 是否正在设置/返回。
-
页面之间的 session-id 是变化的,还是保持不变(您可以使用
session_id()检查 id)?
标签: php session xampp localhost