当前位置: 首页 > 后端技术 > PHP

PHP如何为同一域名下的两个不同项目做独立登录机制?

时间:2023-03-30 02:38:30 PHP

目前有这样一个需求,在一个域名下如:http://example.com,有两个项目,example.com/a/,example.com/b/,这两个项目相互独立other程序有不同的会员登录机制,但是我们知道在同一个域名下,它的session会话是共享的,即你在a站登录后,b站也会显示你在a站的session信息,因为默认session_id名称为PHPSESSID,即当你第一次访问一个项目时,会自动生成一个名为PHPSESSID的session_id,并在服务器端创建一个名为session_id的文件,然后将session_id发送到浏览器cookie中保存,当你访问时下次携带cookie信息,服务器获取session_id,然后继续session。这样就会出现session信息共享的情况。应该如何独立获取两个不同的session信息呢?1、定义session_name其实很简单,在项目b的初始化文件中使用session时修改session_name即可。example.com/a/init.phpsession_start();//...example.com/b/init.php//session_id('123456');//可以自定义session_id,默认为session_name('EBCP_SID');//session_name必须在session_start()之前定义session_start();//...2.测试example.com/a/test.php