Я работаю над входом в CodeIgniter с помощью плагина авторизации ION. Я не знаю почему, но у меня такое поведение:
Я заполняю форму авторизации, отправляю ее, пользователь совпадает, CI сохраняет эти данные в столбце «user_data» в default_ci_sessions таблица и я перезагрузить страницу, и пользователь все еще не вошел и в таблице default_ci_sessions создается новая строка с пустым столбцом «user_data».
Знаете ли вы, где могут быть проблемы?
Вот мой конфиг для сессий:
$config['sess_cookie_name'] = 'pyrocms' . (ENVIRONMENT !== 'production' ? '_' . ENVIRONMENT : '');
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
// don't change anything but the 'ci_sessions' part of this. The MSM depends on the 'default_' prefix
$config['sess_table_name'] = 'default_ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
Решаемые. Мне нужно установить настройки cookie для этого:
$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";
$config['cookie_path'] = "";
Я вижу, что вы сами ответили на проблему, но чтобы добавить решение, чтобы облегчить поиск других людей с такой же проблемой, я добавил его сюда с дополнительным объяснением того, почему это решение.
Ваш полный код:
$config['sess_cookie_name'] = 'pyrocms' . (ENVIRONMENT !== 'production' ? '_' . ENVIRONMENT : '');
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'default_ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
//Added code to fix issue
$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";
$config['cookie_path'] = "/";
$config['cookie_prefix']
Устанавливает префикс, если вам нужно избежать$config['cookie_domain'];
Установите для .your-domain.com для$config['cookie_path'];
Как правило, будетустановка каждого равного «» в значительной степени гарантирует, что куки установлены для всего домена.
Других решений пока нет …