假如我有服务器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设置一个有效期就行了。 |
两个服务器共享session
最新推荐文章于 2019-04-16 11:31:11 发布