PHP - Настройка срока действия куки + время - PullRequest
1 голос
/ 28 октября 2011

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

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

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

Ответы [ 2 ]

1 голос
/ 28 октября 2011

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

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

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

0 голосов
/ 28 октября 2011

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

Самый простой способ получить время GM от PHP - это:

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

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

setcookie($cookiename, $cookie, gmdate('U') + 1200);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...