Internet Explorer игнорирует PHP setcookie() с сервера CentOS
В прошлом мы использовали сервер Windows XAMPP для внутреннего веб-сайта. Он работал нормально, но имел некоторые временные проблемы, и мы решили перейти на сервер LAMP на CentOS.
Мы сделали это сегодня, но оказалось, что Internet Explorer игнорирует все мои попытки сохранить cookie. В используемом URL-адресе нет подчеркивания... URL-адрес фактически совпадает с URL-адресом сервера XAMPP, где я смог без проблем сохранить файлы cookie.
Это действительно не имеет никакого смысла для меня, весь код одинаков. Единственное, что нужно изменить - это версия PHP и ОС сервера. Сайт работает на всех других браузерах, кроме IE.
Я даже не могу сделать простой вызов setcookie. На пустой тестовой странице я использую setcookie("test", "test", time()+36000, "/"); сна (5); print_r($_COOKIE); и там ничего нет Наши пользователи не могут войти на сайт из-за этого, и я понятия не имею, в чем проблема. Если кто-то может предоставить какие-либо подсказки или решения, я был бы очень признателен.
Очевидно, что простой ответ - не использовать IE, но это не вариант в этом случае.
2 ответа
Хорошо, я выяснил, в чем проблема. Часы сервера были отключены на несколько часов, и я считаю, что Internet Explorer строго контролирует время сервера. Таким образом, все куки были сразу истекает.
Я использовал эту статью, чтобы исправить время на сервере, и теперь все работает отлично.
Как обновить время на сервере CentOS с официального сервера времени?
AFAIK, setcookie отправляет заголовок на страницу, и обычно страница должна быть перезагружена снова, чтобы файл cookie был доступен для страницы. Перезагрузка страницы тоже произвела это?
Array ()
Или... это может быть проблемой: https://stackoverflow.com/a/794267