Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:会话文件不包含任何数据_Php_File_Session_Cookies_Session Variables - Fatal编程技术网

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

PHP:会话文件不包含任何数据,php,file,session,cookies,session-variables,Php,File,Session,Cookies,Session Variables,几天来,我在互联网上四处寻找,包括堆栈溢出,试图用PHP会话解决我的问题。首先,我注意到大多数教程只是简单地说“代码在这里,开始使用它。”而不是说“这就是它的工作原理”。此外,我发现的所有问题/答案似乎都与刷新或切换页面后丢失的信息有关,这些都不适用于我 无论我查看哪一页,$\u会话中的数据都将被存储/加载。我的问题是,当我在服务器上查看会话文件时,其中没有数据。此外,当我销毁会话或取消设置变量时,信息仍然存储,下次访问$\u会话时,将检索旧信息 为了解决服务器上会话行为的故障,我创建了一个非常

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

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

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

<?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目录上的权限,以便很快可以临时浏览。()

在尝试使用会话之前,您需要先打电话。

您必须使用
session\u start()启动会话。

每页中不只是一次使用会话请确保有
session\u 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'];
?>

更新:
我已经有一段时间并没有讨论过堆栈溢出问题了,我决定回顾一下这个问题,因为这是我问的仅有的两个问题中的一个。我想指出的是,问题在于php会话名称已更改,需要重新更改为默认名称。

一些人在调用session_start()时留下了注释。我想强调的是,我在我的网站(gnerb.com/phpinfo.php)上发布了一个指向phpinfo.php的链接,其中显示session.auto_start已启用,因此不需要调用session_start()0秒前使用javascript编辑所有内容:alert(document.cookie);返回分配给会话的会话ID。问题是,即使会话cookie被发送到查看器浏览器,服务器也会在每次刷新页面时启动一个新会话。还有一条评论:我已使phpsessions目录临时可浏览,以便您可以查看会话文件。若要复制问题,请访问一个选项卡和另一个选项卡。刷新计数页,然后刷新目录列表并重复。每次刷新都会创建/保存一个会话文件,而不是加载与首次访问时提供给查看器的会话ID相关联的会话。根据我更好的判断,我做了您建议的更改,而session_start()函数无法解决此问题。请参考我对原始帖子的评论。