В моем случае я пытался установить cookie из sd1.example.com для работы на example.com, www.example.com, sd2.example.com и т. Д.
Я попытался изменить некоторые настройки в php.ini, явно перечислив все поддомены, но ни один не помог. Я понял, что только корневой домен может устанавливать файлы cookie для других поддоменов, а один поддомен не может устанавливать файлы cookie для другого.
Итак, я создал скрипт setcookie.php в корневом домене, т.е. example.com
sd1.example.com отправляет GET-запрос этому сценарию:
header("Location: //example.com/setcookie.php?value=" . $xxxxx);
А в setcookie.php
setcookie("xxxxx", $_GET['value'], 0, "/", ".example.com");
Таким образом, файл cookie доступен по умолчанию из всех поддоменов.