2015-10-20 3 views
0

В настоящее время я использую codeigniter3, который храню мой драйвер сеанса в базе данных.
Сессия не должна разрушаться при закрытии браузера.
Когда пользователь нажимает кнопку выхода, только тогда сеанс будет уничтожен.
Как это сделать в кодеринговом3?как сохранить сеанс, когда браузер закрыт в кодеригере3?

Пожалуйста, дайте мне любые решения.

Это мой конфигурационный файл

$config['sess_driver'] = 'database'; 
$config['sess_use_database'] = TRUE; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 0; 
$config['sess_save_path'] = 'ci_sessions'; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 0; 
$config['sess_regenerate_destroy'] = FALSE; 

В предыдущей версии, Codeigniter был sess_expire_on_close в конфигурационном файле, но теперь они удалили его. https://codeigniter.com/user_guide/libraries/sessions.html

+0

Вы еще грузится/самозарядные в 'session' библиотеку? Является ли ваш 'encryption_key' установленным в config.php'?' – Seabass

ответ

1

добавить эту строку в файл .htaccess,

php_value session.gc_maxlifetime 10000 //10000 is in seconds. You can change it. 

или в конфигурационном файле,

$config['sess_expiration'] = 10000;// this is in seconds. 
+0

в соответствии с кодомigniter3 sess_expire_on_close больше не используется –

+0

извините, я все еще использую 'codeigniter2.X', просто увеличиваю время сеанса. –

+0

Я бы поставил 86,400 секунд, чтобы гарантировать, что по крайней мере длится активный день, поскольку CI3 не имеет конфигурации, которая не истекает, когда браузер из-за изменений, внесенных по всей библиотеке. –

Смежные вопросы