我将 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 文件的最顶部,所以那不可能是问题。
php.ini
文件并检查session.gc_maxlifetime
是 1440
它在 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/