php中session同ip不同端口的多个网站session冲突的解决办法

在局域网内使用IP加端口的访问方式搭了两个相同程序的站,结果发现用户在一个站下登录后,在另一个站也同时登录了,在一个退出后,另一个站也同时退出了。看了下程序发现两个站都是使用纯session方式记录登录状态,Cookie中只保存有PHPSESSID这个数据,而且由于使用的IP加端口形式,发现他们两个站的Cookie作用域是相同的,都是属于该服务器IP,这也就是导致这个问题的原因了。

解决办法:

在程序的common文件或是公用文件中加入一句php代码,如下:

ini_set('session.name', 'PHPSESSID_RS');

当然 第二个参数就是session在保存到cookie时使用的名字,你可以自己设置自己喜欢的。。。
就是因为所有程序使用的session名都是在php.ini中设置的默认名称PHPSESSID, 所以 如果同域(同IP不同端口)下的网站之间使用session时会出现共用冲突情况。现在两套程序使用不同的session.name来保存sessionid,所以就不会产生session的冲突问题了。

posted @   一个人的孤独自白  阅读(640)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示