在我的实时服务器上,我有一个文件夹结构,如下所示:
- index.php
- unset.php
- info.php
- deep/
-- index.php
我用来查看会话变量是否设置的index.php
中的代码如下:
<?php
session_start();
print session_id();
print "dev <br>";
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
?>
我用来设置会话变量的deep/index.php
中的代码如下:
<?php
session_start();
print session_id();
$_SESSION['usr'] = "bro";
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
?>
最后是取消会话的unset.php
文件。文件中的代码是:
<?php
session_start();
echo "<br>";
echo session_id();
echo "<br>";
session_unset();
session_destroy();
header("Location:/");
?>
如果你去http://test.haidrr.com
您将看到显示空数组的/index.php
文件,因为尚未设置会话变量。请注意顶部的session_id()
。现在,如果您转到/deep
,index.php
文件将设置会话变量,该变量将显示在数组中。
好了,现在回到/
,如果你很幸运,你会看到数组中的会话变化。 (有时我没有看到,有时它有效,有时却没有)。尝试/unset.php
变量,会话变量仍然存在。
此示例在我的localhost上完美运行。我还添加了info.php
文件,该文件具有phpinfo()
功能。
答案 0 :(得分:1)
我想我可以看到会话设置在以下链接上。
请您尝试使用以下内容取消会话。
unset($_SESSION['usr']);
session_destroy();
如果您仍然发现问题,请告诉我
答案 1 :(得分:0)
我在服务器上遇到了同样的问题,但在看到cpanel内存已经满了之后..我删除了一些日志文件和临时文件。会话将正常工作..
请检查服务器的内存,如果没有空,请删除临时文件。