这个想法来源很简单。
弄了5个以上不同的镜像,但是在公司和在家登录的时候有时候是到移动镜像suddymail.org上,有时候到电信镜像tel.suddymail.org上。搞的每次都要重新登录次。不爽。
修改也很简单,利用了下setcookie中的domain参数
范例如下:
setcookie($key, $value, $time,'/',$domain);
其中设置domain为
$domain = ".suddymail.org";
这样,子域下都能获取到cookie。
另个问题点在于设置了多了同名不同域的cookie
如
setcookie('test', 'test1', $time,'/','.suddymail.org');
setcookie('test', 'test2', $time,'/','.aaa.suddymail.org');
这样,在aaa.suddymail.org的子域下,读取到的test值却是test1.
多次测试发现,得到的值和setcookie的顺序有关。即在本地的时候。cookie会存储他对应的域,但是发送的时候,如上面的cookie,发送模式如下:
test=test1; test=test2;
而php接收的使用的$_COOKIE['test']只查到第一个匹配名字的。
无奈偶的米上suddymail.org与aaa.suddymail.org是两个不同站,为了不让两者的cookie起冲突,导致一台机器上在suddymail.org上的AA用户和aaa.suddymail.org上的BB用户的cookie混乱的问题。想了半天还是没好的方法,最后用了一种最土的,更换cookie的名字
如
$cookie1 = 'test1';
setcookie($cookie1, 'test2', $time,'/','.aaa.suddymail.org');
然后不同站的文件里通过配置文件配$cookie1 勉强算解决问题吧。虽然很土。
修改的两个文件如下附件:
