Срок действия всех файлов cookie истекает в соответствии со спецификацией файла cookie , поэтому это не ограничение PHP.
Используйте дату в далеком будущем. Например, установите cookie, срок действия которого истекает через десять лет:
setcookie(
"CookieName",
"CookieValue",
time() + (10 * 365 * 24 * 60 * 60)
);
Обратите внимание, что если вы установите дату после 2038 в 32-битном PHP, число будет изменено, и вы получите cookie, срок действия которого истекает немедленно.