多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
有时候,我们在一个服务器上会经常遇到这样的问题: **事件**:一个服务器部署了两个网站,访问地址分别是: 192.168.0.100:80 站点1 192.168.0.100:81 站点2 两个都是不同的登录系统。当我们登录系统1的时候,如果他们的session键值一样,那么登录站点1后,将登录到2上面了。这并不是我们想要的结果。因为他们是不同的系统,不同的用户权限,所有他们应该有各自的session体系。 **原因**:如果你用google浏览器审查元素,application下的cookie就会发现,他们用的同一个sessionid。 服务器会吧相同ip的站(相同域名应该也一样啦)的session看做一个资源,将session 的id保存到同一个cookie中。只需要想办法将各自的sessionid资源保存到不同键中即可。 **解决:**还好,php中提供了对sessionid的设置方法。通过php.ini中session.name=phpsessid 可以刊出后,他被默认定义为phpsessid。我们可以通过ini_set()去设置他们各自的键值。 ~~~ 站点1: <?php session_start(); ini_set('session.name', 'phpsessid1'); ?> ~~~ ~~~ 站点2: <?php session_start(); ini_set('session.name', 'phpsessid2'); ?> ~~~ 这样即可解决!