【问题标题】:Sessions being reset on page reload/refresh?在页面重新加载/刷新时重置会话?
【发布时间】:2016-06-26 01:03:01
【问题描述】:

我正在使用 AWS 和 Ubuntu LAMP 堆栈。我通常只是在我的 Mac 上使用 MAMP 来测试东西并使用托管托管服务,例如 GoDaddy,所以这是我第一次使用 AWS。我的老开发人员为我设置了 AWS,所以我从那以后接管了。

我的代码在 MAMP 上运行良好,但无法在 AWS 上运行。

当用户尝试登录时,我会调用用 PHP 编写的 RESTful API 来验证登录并在成功时设置会话变量。然后我刷新页面并检查是否设置了会话,如果设置了我加载不同的 php 文件。

这是我的整个index.php 文件:

session_start();
if ($_SESSION['user_login_status'] == 1) {
    include("app.php");
} else {
    include("login.php");
} 

在刷新期间,似乎我的会话变量正在被破坏/重置。我试过在if 语句之前echoing 会话值,尽管它总是空白。

我已经确定的事情:

  • 我在我的 php 文件的最顶部设置了session_start(),所以 这不可能是问题。
  • 我通过 SSH 连接以访问php.ini 文件并检查了session.gc_maxlifetime1440

它在 MAMP 上运行而不是在我的 AWS 服务器上运行似乎很奇怪。

【问题讨论】:

    标签: php session ubuntu amazon-web-services lamp


    【解决方案1】:

    我或多或少有同样的问题。 是服务器中安装的 PHP 版本造成了这个错误。 要解决它,就这样做

    session_start();
    if ($_SESSION['user_login_status'] !== 1) {
        include("login.php");
    } else {
        include("app.php");
    }
    

    session_start();
    if ($_SESSION['user_login_status'] != 1) {
         include("login.php);
    } else {
         include("app.php");
    }
    

    session_start();
    if ($_SESSION['user_login_status'] === 1) {
         include("app.php");
    } else {
         include("login.php);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      相关资源
      最近更新 更多