«Похоже, что удаление печенья сложнее, чем кажется.
setcookie($name, '', 1);
Не получится. ''
пуст, и setcookie
может игнорировать всю инструкцию.
Кроме установки времени в прошлое, иногда позволяет печенье, чтобы сохранить значение, для которого истекает время новее, чем 1.
Я имею дело с этим прямо сейчас. Я не знаю, откуда она взялась, но она там.
Я прибег к
setcookie($name, '0', 9000000000);
Это гарантирует, что куки устанавливается в значение, которое разрешает ложь и что он новее, чем любое предыдущее значение.
Если у кого-нибудь есть понимание этого поведения, пожалуйста, сообщите.
Я подозреваю, что сложность заключается в том, что значения домена и пути для setcookie
гарантированы одинаковыми от исполнения до исполнения, когда значения не указаны.
И я знаю, что такой файл cookie не истечет до 2038 года или около того.
Альтернативно, если известна самая новая дата срока действия файла cookie, его необходимо установить только через 1 секунду после.
Вы можете «вежливо попросить» браузер удалить cookie, установив его значение в пустую строку или установив время истечения срока действия на какую-либо дату в прошлом или используя '$ cookie-> delete();' из https : //github.com/delight-im/PHP-Cookie – caw