我有一个网络服务器(IIS),在这里我有两个文件夹:website1和website2,有两个不同的同一个webapp副本.一旦我登录其中一个 – 比如说mylocalip / website1,我会非常标准地开始一个会话:
$_SESSION [“user_id”] = x;
这在我的网站上运行良好.
但是,如果我转到mylocalip / website2,我发现自己仍然登录.很奇怪,如果我去mypublicip / website2,我发现自己没有登录.
我的问题是:为什么我会观察这种行为?
谢谢和最诚挚的问候.
解决方法:
Session对象分配给域名.您在这里使用原始IP,因此它成为域名.两个文件夹都在同一个域名下面,因此它们共享Session对象.
但是,当您转到公共IP地址时,其他IP的会话cookie无效,因此您需要再次登录.