PHP:会话文件不包含任何数据

时间:2011-07-10 22:04:18

标签: php file session cookies session-variables

我在互联网上环顾四周,包括堆栈溢出,试图用PHP会话解决我的问题几天。首先,我注意到大多数教程只是简单地说“这是代码,然后使用它”。而不是“这是它的工作原理。”此外,我发现的所有问题/答案似乎都是关于刷新或切换页面后丢失的信息,这些都不适用于我。

无论我查看哪个页面,都会存储/加载$ _SESSION中的数据。我的问题是,当我在服务器上查看会话文件时,它们中没有数据。此外,当我销毁会话或取消设置变量时,信息仍然存储,下次访问$ _SESSION时,将检索旧信息。

要解决我服务器上会话的行为问题,我创建了一个非常简单的脚本:

<?php
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}

echo $_SESSION['count'];
?>

这是页面上的所有代码(可在此处查看:)。每次刷新此页面时,都会将新的空白会话文件保存到服务器上的指定目录中,并且计数器不会增加。

更多信息:
有关php安装的信息:
GoDaddy共享主机托管 - Linux操作系统
我将更新phpsessions目录的权限,以便稍后暂时浏览。 ()

3 个答案:

答案 0 :(得分:3)

在尝试使用会话之前,您需要致电session_start()

答案 1 :(得分:2)

您必须使用session_start()

开始会话

每页 确保session_start()

像这样:

<?php
session_start();

// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}

echo $_SESSION['count'];
?>

答案 2 :(得分:0)

更新: 我有一段时间没有堆叠溢出,并决定回顾这个问题,因为它是我问过的唯一2个问题中的一个。我想提一下,问题是php会话名称已更改,需要更改回默认值。