PHP在同一域名下两个不同的项目做独立登录机制详解
发布时间 - 2026-01-11 03:22:33 点击率:次前言

目前有这样一个需求,在一个域名下 如:http://example.com 下,有两个项目,example.com/a/,example.com/b/,这两个项目是相互独立的程序,有不同的会员登录机制,但是我们知道,在同一个域名下,它的 session 会话是共享的,也就是你在a站登录后,b站也会出现你在a站的session信息,因为默认的 session_id 名字是 PHPSESSID,即当你第一访问a项目时,它会自动生成一个名为 PHPSESSID 的session_id,并在服务器端创建一个以session_id 命名的文件,然后发送session_id到浏览器的cookie里保存,当下一次访问时,则会携带该 cookie 信息,服务器端拿到session_id,然后再继续会话。这样就会出现会话信息共享的局面,应该怎样独立出两个不同的会话信息呢?
一、定义session_name
其实很简单的,只需在b项目的初始化文件中使用session时,修改下 session_name 就可以了。
example.com/a/init.php
session_start(); // ...
example.com/b/init.php
// session_id('123456'); // 可以自定义session_id,默认是系统自己生成的
session_name('EBCP_SID'); // session_name 必须定义在session_start() 前
session_start();
// ...
二、测试
example.com/a/test.php
<?php
// a项目测试页面
define("IN_EB", true);
include_once("./init.php");
if($_SESSION['nickname'])
{
//
dump("session 页面- 欢迎你继续回来 {$_SESSION['nickname']} " . date("Y-m-d H:i:s"));
}
else
{
$_SESSION['nickname'] = "Corwien";
dump("session 页面- 你是第一次登录 {$_SESSION['nickname']} " . date("Y-m-d H:i:s"));
}
输出结果:
session 页面- 欢迎你继续回来 Corwien 2017-09-22 07:49:15
a项目的浏览器cookie:
example.com/b/test.php
<?php
// b项目测试页面
define("IN_EB", true);
include_once("./init.php");
if($_SESSION['nickname'])
{
//
dump("session_v2 页面- 欢迎你继续回来 {$_SESSION['nickname']} " . date("Y-m-d H:i:s"));
}
else
{
$_SESSION['nickname'] = "JackMa";
dump("session_v2 页面- 你是第一次登录 {$_SESSION['nickname']} " . date("Y-m-d H:i:s"));
}
输出结果:
session_v2 页面- 欢迎你继续回来 JackMa 2017-09-22 07:49:15
b项目的浏览器cookie:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# php一个域名多个
# 项目
# php项目绑定域名访问
# php
# 域名
# php实现的SSO单点登录系统接入功能示例分析
# SSO单点登录的PHP实现方法(Laravel框架)
# php的sso单点登录实现方法
# PHP版单点登陆实现方案的实例
# PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
# thinkPHP5项目中实现QQ第三方登录功能
# ThinkPHP实现登录退出功能
# php面向对象的用户登录身份验证
# PHP实现的注册
# 登录及查询用户资料功能API接口示例
# PHP第三方登录—QQ登录实现方法
# PHP简单实现单点登录功能示例
# 欢迎你
# 你是
# 你在
# 就会
# 也会
# 当你
# 只需
# 并在
# 这两个
# 这样一个
# 然后再
# 自定义
# 这篇文章
# 谢谢大家
# 它会
# 则会
# 创建一个
# 自动生成
# 就可以
# 其实很简单
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用Blade组件和插槽?(Component代码示例)
简单实现Android验证码
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
Laravel如何实现数据库事务?(DB Facade示例)
千库网官网入口推荐 千库网设计创意平台入口
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
如何为不同团队 ID 动态生成多个独立按钮
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
PHP正则匹配日期和时间(时间戳转换)的实例代码
java ZXing生成二维码及条码实例分享
如何在不使用负向后查找的情况下匹配特定条件前的换行符
Laravel怎么在Blade中安全地输出原始HTML内容
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
网站制作大概多少钱一个,做一个平台网站大概多少钱?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
敲碗10年!Mac系列传将迎来「触控与联网」双革新
免费网站制作appp,免费制作app哪个平台好?
如何在腾讯云免费申请建站?
Laravel如何处理和验证JSON类型的数据库字段
七夕网站制作视频,七夕大促活动怎么报名?
如何在万网主机上快速搭建网站?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Python文件流缓冲机制_IO性能解析【教程】
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
php结合redis实现高并发下的抢购、秒杀功能的实例
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
利用JavaScript实现拖拽改变元素大小
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
如何用免费手机建站系统零基础打造专业网站?
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
如何用AI帮你把自己的生活经历写成一个有趣的故事?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
javascript基本数据类型及类型检测常用方法小结
如何用狗爹虚拟主机快速搭建网站?
音响网站制作视频教程,隆霸音响官方网站?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
如何在七牛云存储上搭建网站并设置自定义域名?
网页设计与网站制作内容,怎样注册网站?
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解

