我在打印PHPSESSID
时收到两个$_SERVER['HTTP_COOKIE']
。实际上我不知道它是如何设置两次的,它只在我的本地系统中。
当我检查它的SERVER cookie时:
echo $_SERVER['HTTP_COOKIE'];
//result
'fe_toolbar=false;
fe_toolbar=false;
PHPSESSID=4tvbovcjk0msf9dvibeb31c2b7;
langId=1;
backendLangId=2;
PHPSESSID=46aagg1hg7as2uh9bihjlpp8h7'
当我单独检查我的cookie时:
print_r($_COOKIE);
//result
array (
'fe_toolbar' => 'false',
'PHPSESSID' => '4tvbovcjk0msf9dvibeb31c2b7',
)
答案 0 :(得分:3)
您可以拥有多个同名的Cookie。当您使用不同的路径或域属性设置cookie时会发生这种情况。他们全部发送到服务器。
RFC 6265具体
如果Cookie标头包含两个具有相同名称的Cookie(例如, 设置了不同的路径或域属性),服务器不应该依赖这些cookie在标题中出现的顺序。
您的$_COOKIE
将填充其中一个值。