php - PHP 7 - 会话文件不被丢弃
问题描述
!!!!我知道这已经被问了无数次了,但我什么都试过了,就是不管用,所以请不要放弃这个问题
从一个用户登录到另一个用户时,根本不会丢弃会话,并且会显示以前的用户数据
我必须 CTRL+F5 导航器才能获得正确的新记录用户数据
我试过了 :
有问题的是,我用来自新登录用户(来自数据库)的新数据替换了会话变量中的所有内容,但某些字段仍然是前一个用户的遗骸......这根本没有意义
$_SESSION = array();
unset($_SESSION["end_user_session"]);
$session=$endUser; // from DB !!!!
$session["sessionID"]=session_id();
$_SESSION["end_user_session"] = $session;
在注销时,我这样做,它应该破坏会话值,但它们仍然存在:
$_SESSION = array();
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
$_SESSION = array();
这已经让我发疯了 2 年多了
我们在 wamp 和我们的 linux preprod/prod 上遇到了问题
请帮忙,如果您需要更多信息,请告诉我
解决方案
您可能已经尝试过(它在 PHP 手册中),但以防万一:
<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// Finally, destroy the session.
session_destroy();
?>
推荐阅读
- c# - 检查IUSR组是否对文件夹有写权限
- xpath - 从 yahoo 财务表中提取 Xpath 数据
- angular - 在Angular 6中使用主题订阅时无法绑定数据
- sql - 不使用 where 子句中的函数的不区分大小写的搜索
- vue.js - 有没有办法在这种结构 Vuex 中使用 Promise
- php - Laravel - 找不到类'Collective\Html\HtmlServiceProvider'
- swift - <1> HTTP 加载失败(错误代码:-1003 [12:8])
- javascript - Json格式错误,来自php文件的request_ajax()
- c# - 在 Asp.Net Mvc Web 上将 Windows 窗体客户端与 Tcp 服务器连接
- casting - 声明了一个 List,实现为 LinkedList,不能使用 getLast() 方法