首页 > 解决方案 > PHP $_SESSION 参数由服务器重置?

问题描述

我创建了一个非常基本的脚本来测试$_SESSION参数,并且在我的服务器上它完美地工作:

<?php
session_start();

if(!isset($_SESSION["favcolor"]))
{
  $_SESSION["favcolor"] = "green";
}
?>

<html>
<head>
</head>
<body>
<?php
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>

<br /><br />
<a href="test2.php">Go To Next Page</a>
<br />
<a href="kill.php">Delete Session</a>
</body>
</html>

第 2 页完全相同,仅使用第二个 Session 变量,并且 kill 链接执行 asession_unset()和 a session_destroy(),然后重定向到test1.php。同样,在我的服务器上,这段代码完美运行。

但是,我的客户端服务器上完全相同的代码(只是复制和粘贴而没有任何更改)不起作用。在test.phptest2.php之间,在test1.php中设置的会话变量会丢失。同样,回过头来看,第 2 页中设置的变量也丢失了。

我一直在看这些phpinfo()东西,看看我是否看到明显的差异,但我在这里不知所措......

标签: phpsession-variables

解决方案


这是由于 session.save_path 配置错误造成的。

将其指向正确的文件夹后,一切正常


推荐阅读