为什么我在页面更改时丢失了PHP会话?

为什么我在页面更改时丢失了PHP会话?,php,session,Php,Session,我设置了一个登录系统,它存储了一个会话变量,并在每个页面上检查它,但随后我移动到了一个新的服务器 现在,我设置的任何会话变量仅在其设置的页面上可用。我一直在寻找发生这种情况的原因,并且已经排除了权限问题。这可能与不正确的URL有关吗?服务器上的其他一切似乎都正常工作 如果有帮助的话,我正在运行最新版本的PHP和Apache。因为您可能(只是假设)还没有获得session\u start()在需要时贯穿其他页面。例如,创建一个名为session.php的页面 Session.php session

我设置了一个登录系统,它存储了一个会话变量,并在每个页面上检查它,但随后我移动到了一个新的服务器

现在,我设置的任何会话变量仅在其设置的页面上可用。我一直在寻找发生这种情况的原因,并且已经排除了权限问题。这可能与不正确的URL有关吗?服务器上的其他一切似乎都正常工作

如果有帮助的话,我正在运行最新版本的PHP和Apache。

因为您可能(只是假设)还没有获得
session\u start()在需要时贯穿其他页面。例如,创建一个名为session.php的页面

Session.php

session_start(); 
if (!isset($_SESSION))
{
 // Enforce logout as session is not set.
}
然后:

包括“session.php”


在需要登录功能的页面中使用此代码段。

我以前遇到过类似的问题。您可以在首次使用
session\u id()
启动会话时尝试设置会话id,然后在每次
session\u start()
之前使用相同的会话id

例如:

<?php
   session_id(integer);
   session_start();
?>


除了session_start()解决方案之外,您可能还想让用户使用您的浏览器允许Cookies这是您的假设,但我认为他必须这样做+正如我们所同意的,你的解释很简单