我的Apache public_html root下有2个项目。一个是“/ project1”,另一个是“/ project2”。项目2只是项目1的副本,但经过一些修改以适应不同的目标。它们具有相同的核心代码,因此使用的会话名称是相同的。
我以这种方式为项目1初始化会话:
ini_set("session.cookie_path","/project1");
session_name("sid");
session_start();
项目2非常相似:
ini_set("session.cookie_path","/project2");
session_name("sid");
session_start();
cookie路径不相等,所以即使使用相同的cookie名称(这里是'sid'),PHP也应该能够区分它们。
但有趣的是,当项目1的管理员登录时,项目2中的管理员也会有趣地登录。
答案 0 :(得分:1)
某些浏览器不喜欢带路径且没有过期的Cookie,因此您可以添加:
ini_set('session.cookie_lifetime', 3600);
会话cookie仅由PHP发送一次(如果缺少),然后强制PHP重新发送cookie,更新过期时间,在 session_start()之后可以添加:
session_regenerate_id();