Данные сеанса пользователя сбрасываются при перенаправлении (CodeIgniter) - PullRequest
0 голосов
/ 23 октября 2018

Я вижу, что проблему сброса сеанса при перенаправлении можно найти в нескольких сообщениях на разных форумах и сайтах вопросов и ответов.

Ни одно из предложенных решений не решило мою проблему.Проблема заключается в том, что данные сеанса пользователя очищаются после перенаправления (с использованием window.location.href = SOME_PLACE).

Я использую XAMPP с PHP 7.2.3 и CI 3.0.6.

Что я пробовал:

  • Обновление CI до 3.1.9
  • с использованием значения от localhost до cookie_domain.
  • Убедитесь, что библиотека сеанса загружена автоматически.(Попробовал вручную загрузить его в нужные мне конструкторы контроллеров)
  • Добавил значение для sess_save_path и убедился, что он доступен для записи владельцу процесса (на самом деле, я посмотрел на сгенерированные файлы).
  • Пробовал Google Chrome и Mozilla Firefox.

Чего мне не хватает?Пожалуйста, помогите мне исследовать эту проблему и разобраться в ней.Это действительно расстраивает.

1 Ответ

0 голосов
/ 23 октября 2018

Нашел решение моей проблемы.Хотя это немного странно.

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

Решением является установка sess_expiration в 0 (очистить сеанс, когда браузер закрыт).Это делается в application/config/config.php:

$config['sess_expiration'] = 0;

ОБНОВЛЕНИЕ

После понижения CI до 3.0.6 данные сеанса пользователя сбрасываются.Обновился до 3.1.9 и все снова заработало.Таким образом, наряду с изменением конфигурации, описанным выше, обновление до 3.1.9 является частью решения.

...