两个服务器共享session

假如我有服务器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设置一个有效期就行了。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值