PHP — настройка истечения срока действия cookie время

#php #cookies

#php #файлы cookie

Вопрос:

Файл cookie не устанавливается на моем компьютере. Он работает локально, но не в реальном времени. Я хочу, чтобы файл cookie существовал только в течение 20 минут. Единственная причина, по которой я могу думать о том, что это не сработает, заключается в том, что сервер находится в штатах. Я на x часов впереди. Таким образом, время установки cookie-файла уже истекло. Это правильно?

 setcookie($cookiename, $cookie, time()   1200);
  

Если серверное время 6 утра, а мое время 12 вечера. Будет ли установлен срок действия файла cookie в 6:20 утра или 12:20 вечера?

Если это первое, как мне установить время истечения срока действия cookie на основе местного времени пользователя? Если это будет позже, я сделаю еще несколько попыток устранения неполадок в понедельник.

Комментарии:

1. Это легко отлаживать: echo time();

Ответ №1:

В прошлом у меня была похожая проблема, мне всегда давали совет убедиться, что срок действия файлов cookie (если они установлены в разных часовых поясах) составляет не менее 25 часов. Это позволяет любому в любом месте использовать cookie. Во многих случаях недопустимый файл cookie = нет доступа = большое дело.

Современные вычисления зарезервировали для этого, и синхронизированное время гарантирует, что файлы cookie всегда будут установлены по местному времени пользователя. Тем не менее, исключения еще предстоит найти.

20 минут — это очень короткое время для включения cookie, рассмотрите возможность его увеличения. Если файл cookie по-прежнему не установлен локально, я бы предположил, что ваш браузер заблокировал входящие файлы cookie с сервера.

Ответ №2:

Функция time () получит время сервера, но я считаю, что файлы cookie используют время GMT.

Самый простой способ получить общее время из PHP — использовать:

 <?php
  $gmtime = gmdate('U');
?>
  

Итак, вы бы установили файл cookie следующим образом:

 setcookie($cookiename, $cookie, gmdate('U')   1200);