啊,共享主机的乐趣!最好的办法是在您实际需要同时登录两个站点时为每个站点使用不同的浏览器...
但是,要解释为什么这很重要,您必须了解以下内容:
Session
变量存储在服务器上,服务器上有一个键控引用,浏览器上有一个 cookie。一旦您取消并破坏了两者中的任何一个,就无法再进行匹配 - 您的会话就消失了!
session_start();
session_unset();
session_destroy();
以上将杀死所有将服务器链接到浏览器的会话变量(在服务器端)。
轻松管理此问题的方法是将会话变量放入另一组数组中:
$_SESSION["site1"] = array( $user_id, $session_id );
$_SESSION["site2"] = array( $user_id, $session_id );
你当然可以让它变得花哨:
$_SESSION['site3']['userID'] = 'someuserid';
$_SESSION['site3']['sessionid'] = 'somesessionid';
然后当您从站点 1 注销时
session_start();
unset($_SESSION['site1']);
在这种情况下,您为每个站点创建了一个单独的会话管理系统(使用二维数组,其顶层由您的站点标识符作为关键字)。这使得每个站点都可以管理一组单独的会话变量——当你销毁一个时,你不会触及其他的。
但是,我真的建议使用不同的浏览器来代替(或另外)......