两个服务器共享session

原创 2007年10月09日 09:16:00
假如我有服务器1   
   www.love.com   
   和服务器2   
   live.love.com   
    
   登陆的web页面在服务器1上.登陆时将cookie写如.之后访问服务器2上的web页面时也能读取刚才写入的cookie进行登陆验证.   
    
   是不是应该设定cookie的域这个参数啊!   
   我是这样写的:setcookie("a","bb",0,"",".love.com");   
    
   可是为什么服务器1能读出cookie服务器2读不出来呀???

1楼

setcookie("a","bb",0,"/","love.com");

2楼

这个试过了不好使.   
   同时还有   
   setcookie("a","bb",0,"~/","love.com");   
   setcookie("a","bb",0,"~/",".love.com");   
   setcookie("a","bb",300,"/",".love.com");   
   setcookie("a","bb",300,"/",".love.com",1);   
   都试过了。   
   一个也不好使.不过还是感谢唠叨。   
    
    
  

3楼

setcookie("a","bb",0,"/","love.com");   
    
   不可能不对,我已经在我的两个域名间测试过了   
    
   不知你是如何测试的?请注意,由于失效期为0,当浏览器关闭了cookie也就失效了

4楼

是啊!我的两台服务器在两个机房放的各运行一套程序.写了文件1传到服务器1上.   
   <?   
       setcookie("a","bb",0,"/","nusports.cn");   
       print_r($_COOKIE);   
   ?>   
    
   然后写了文件2传到服务器2上   
   <?   
       print_r($_COOKIE);   
   ?>   
   然后运行文件1在写入cookie的时候就读出了cookie的内容,证明cookie已经写入.   
   文件1没有关闭.然后运行服务器2上的文件可是不能读取刚才写入的内容啊!   
    
   你测试,是不是只有一台服务器,用两个域名访问的啊?

5楼

耶!问题解决!   
   setcookie("a","bb",time()+3600,"/",".love.com");   
   这里的有效期不能设为0.如果设为0则不在本机硬盘上生成文件,而是存在ie缓存里.故其他子域里的站点访问不到cookie内容了。   
   解决方法是:只要给cookie设置一个有效期就行了。
 

如何在多台web服务器上共享session?

比如:现在有三台php服务器,且实现了负载均衡,如何让这三台web服务器共享session数据? session数据默认是以文件的形式保存在web服务器的磁盘上,一般都是用户登录成功的时候,保存se...
  • lamp_yang_3533
  • lamp_yang_3533
  • 2016年07月21日 16:38
  • 5134

解决多个服务器共享session的几个方案

A、文件方式:这种方式,将文件作为一个map,当新增一个数据的时候,就在文件中增加类似这样的一条数据:angOwberup =>data={"user":{"id":1,"nickname":"老王"...
  • L_ieluil
  • L_ieluil
  • 2016年06月14日 16:18
  • 4140

四种多服务器共享session的方法

伴随网站业务规模和访问量的逐步发展,原本由单台服务器、单个域名的迷你网站架构已经无法满足发展需要。 此时我们可能会购买更多服务器,并且启用多个二级子域名以频道化的方式,根据业务功能将网站分布...
  • wjc19911118
  • wjc19911118
  • 2015年08月26日 11:08
  • 1458

nginx+tomcat+redis服务器集群session共享

  • 2017年12月20日 15:57
  • 32.68MB
  • 下载

php session 多服务器的共享

  • 2013年06月08日 13:56
  • 57KB
  • 下载

PHP + Memcache 实现多服务器session共享

很多时候一个完整的系统可能运行在多个服务器上,如果这多个服务器之间需要共享session的话,那么php默认的files保存session的方式就无能为力了。这时我们可以考虑使用memcache 来接...
  • rainday0310
  • rainday0310
  • 2012年04月26日 01:07
  • 2580

跨域名(跨服务器)共享SESSION ASP.NET 解决方案

首先,我说的跨域是指: a.myDomain.com b.myDomain.com 这样的域。 如果你想 http://www.abc.com/ http://ww...
  • vincent_void
  • vincent_void
  • 2012年09月02日 11:39
  • 889

多服务器共享Session的解决方案

问题为了满足足够大的应用,满足更多的客户,于是我们架设了N台Web服务器(N>=2),在多台Web服务器的情况下,我们会涉及到一个问题:用户登陆一台服务器以后,如果在跨越到另一台服务器的时候能够继续使...
  • u013474436
  • u013474436
  • 2017年11月01日 20:19
  • 167

多台web服务器之间共享session

很多开发中涉及到用户的Session验证很保留的问题,这个问题比较有意思,总结了几种方案,只供参考。   [  问题提出 ]   为了满足足够大的应用,满足更多的客户,于是我们架设了N台We...
  • lerdor
  • lerdor
  • 2012年11月01日 22:54
  • 22321

redis实现跨服务器session共享

一般我们在做服务器集群的时候,都会配置nginx反向代理服务器。但是问题来了,多个服务器之间的session怎么共享的呢? 我在这里用的是redis,实现思路: 1.自己定义一个sessionId生成...
  • u012572955
  • u012572955
  • 2016年05月03日 19:42
  • 3858
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:两个服务器共享session
举报原因:
原因补充:

(最多只允许输入30个字)