Рассмотрение php документации относительно установки cookie, я вижу, что могу установить дату истечения срока cookie. Можно установить cookie для истечения в конце сеанса браузера или в некоторое время в будущем, но я не вижу способ установить cookie, чтобы никогда истечь. Это даже возможно и как это выполняется?
Все куки истекают согласно спецификации куки, так что это не ограничение PHP.
Используйте дату в далеком будущем. Например, установите cookie, срок действия которого истекает через десять лет:
setcookie(
"CookieName",
"CookieValue",
time() + (10 * 365 * 24 * 60 * 60)
);
Обратите внимание, что если вы установите дату после 2038 в 32-битном PHP, число обернется вокруг, и вы получите cookie, срок действия которого истекает мгновенно.
Вы не можете, но что, если вы установите время истечения сейчас + 100 лет?
Я считаю, что не существует способа заставить cookie жить вечно, но вам просто нужно установить срок его действия далеко в будущем, например, в 2100 году.
Хотя это не совсем возможно, вы могли бы сделать что-то похожее на то, что делает Google, и установить срок действия куки-файла 17 января 2038 года или что-то подобное.
С практической точки зрения вам может быть лучше установить куки-файл на 10 лет или 60 * 60 * 24 * 365 * 10, что должно пережить большинство машин, на которых будет жить ваш куки-файл.
Вы не должны этого делать, и это в любом случае невозможно. Если хотите, можете установить большее значение, например, на 10 лет вперед.
Кстати, я никогда не видел куки с таким требованием :)