У меня довольно странная проблема с REST-сервером CodeIgniter Криса Кацергиса.
Проблемы:
1) Я НЕ загружаю библиотеку сеансов CodeIgniter, даже тогда новые записи создаются в таблице базы данных ci_sessions
каждый раз, когда я делаю HTTP-запрос к моему REST API.
2) Создается новая запись (и старая запись НЕ обновляется) в БД при каждом HTTP-запросе, даже если IP-адрес остается прежним.
Это мой файл config.php:
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
Я пробовал по отдельности и в комбинации следующие вещи:
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 0;
$config['sess_regenerate_destroy'] = FALSE;
а также
$config['cookie_domain'] = '.mydomain.com';
Но ничего не сработало.
Это нормально или какой-то баг? Что я делаю неправильно? У кого-нибудь еще такая же проблема?
Другое дело, что я не сталкиваюсь с этой проблемой в vanilla CodeIgniter. Там все работает нормально и как положено.
Обновить
Я нашел кое-что, борясь со второй частью проблемы.
При выполнении первого HTTP-запроса в базе данных создаются две записи сеанса — одна для клиента и другая для REST-сервера. Из второго запроса клиентская «версия» файла cookie ОБНОВЛЯЕТСЯ, а серверная «версия» СОЗДАЕТСЯ ПОВТОРНО.
$autoload['libraries'] = array('session');
- person Mr. ED   schedule 26.07.2017$config['sess_match_ip'] = FALSE;
сделать это ИСТИННЫМ. - person James Lalor   schedule 27.07.2017