Я получаю два PHPSESSID
при печати $_SERVER['HTTP_COOKIE']
. На самом деле я не знаю, как он устанавливается дважды, только в моей локальной системе. Когда я проверяю файл cookie SERVER, он выглядит так:
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', )
У вас может быть несколько файлов cookie с тем же именем. Это происходит, когда вы устанавливаете cookie с разными атрибутами Path или Domain. Все они отправляются на сервер.
Спецификация RFC 6265
если заголовок Cookie содержит два файла cookie с тем же именем (например, которые были установлены с различными атрибутами Path или Domain), серверам НЕ ДОЛЖНО полагаться на порядок, в котором эти файлы cookie отображаются в заголовке.
Ваше $_COOKIE
будет заполнено одним из этих значений.