PHP $_SESSION 变量将在用户登录到 Azure 应用服务(免费:计划)时被替换



在 azure 应用服务中,我使用 office365 对用户进行身份验证,用户登录后,我将一些数据存储在 $_SESSION 变量中。但是,当多个用户登录到应用程序时,会出现此问题。

例如:用户"A"已登录到应用程序,我正在存储用户数据 $_SESSION["用户名"] = "A" 并重定向到一个页面,同时用户"X"正在登录应用程序,用户数据 $_SESSION["用户名"] = "X" 正在替换之前的 $_SESSION["用户名"] 值,即"A"。

  1. 在 php 中.ini session.save_handler => 个文件; session.save_path =>/home/site/wwwroot/tmp

  2. 此应用程序托管为 Azure App Service[Linux],具有免费 ASP。

  3. 我正在使用PHP版本7.2.20。
<?php
session_start();
//Codes to authenticate user and getting user details
$_SESSION["username"] = "John";
session_write_close();
header("Location: page1.php");
?>

在这里,一旦一个名为"Doe"的用户登录。$_SESSION["用户名"] 中的值被替换为"Doe";

<?php
session_destroy();
?>

您必须在人员注销时取消您的会话。

最新更新