php - 在页面重新加载/刷新时重置 session ?

标签 php session ubuntu amazon-web-services lamp

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

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

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

这是我的全部index.php文件:

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

在刷新期间,似乎我的 session 变量正在被破坏/重置。我试过echo if 之前的 session 值声明,尽管它始终是空白的。

我已经确定的事情:
  • 我正在设置 session_start()在我的 php 文件的最顶部,所以
    那不可能是问题。
  • 我通过 SSH 连接访问 php.ini文件并检查session.gc_maxlifetime1440

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

    最佳答案

    我或多或少有同样的问题。
    是服务器中安装的 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);
    }
    

    关于php - 在页面重新加载/刷新时重置 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35929132/

    相关文章:

    ubuntu - 为 Nimrod 安装 Babel 时遇到问题

    php - ini_set 'session.gc_maxlifetime' 为 1 天

    php - 如何设置 PHP 日志记录以转到远程服务器?

    javascript - AJAX 成功或错误未触发

    java - 为什么将 session 范围内的对象可序列化视为一种良好实践?

    c++ - 如何在ros中使用Qt库

    php - php中如何获取嵌套数组的值

    asp.net-mvc-4 - session 在 Azure 中如何工作

    performance - hibernate - 卡在 HashMap.getEntry()

    c - 如何在 Linux 中使用新内核编译模块