2013-07-04 4 views
1

Я работаю над крупномасштабным веб-приложением в Codeigniter с модульными расширениями HMVC и имеет проблемы с сеансами при использовании базы данных (для хранения сеансов).Codeigniter создает новую строку сеанса с теми же userdata

Мои сеансы теряются по какой-то причине, я просто не могу понять.

Главный пример - использование корзины Codeigniter. Я могу успешно добавить элементы в свою корзину и щелкнуть по сайту с элементами, оставшимися в сеансе. Тем не менее, при нажатии/приостановке навигации по веб-сайту в течение ~ 3 минут (не приурочен ко второму), потеря тележки все его продукты и сеанс пуст. При просмотре базы данных старый сеанс по-прежнему сохраняется в базе данных с содержимым, но с созданной новой строкой сеанса (как показано ниже).

DB Sessions

Я бегу последнюю версию Codeigniter без каких-либо расширений для исходного класса session.php.

Ниже мои сессии конфигурационные переменные:

/* 
|-------------------------------------------------------------------------- 
| Session Variables 
|-------------------------------------------------------------------------- 
| 
| 'sess_cookie_name'  = the name you want for the cookie 
| 'sess_expiration'   = the number of SECONDS you want the session to last. 
| by default sessions last 7200 seconds (two hours). Set to zero for no expiration. 
| 'sess_expire_on_close' = Whether to cause the session to expire automatically 
| when the browser window is closed 
| 'sess_encrypt_cookie'  = Whether to encrypt the cookie 
| 'sess_use_database'  = Whether to save the session data to a database 
| 'sess_table_name'   = The name of the session database table 
| 'sess_match_ip'   = Whether to match the user's IP address when reading the session data 
| 'sess_match_useragent' = Whether to match the User Agent when reading the session data 
| 'sess_time_to_update'  = how many seconds between CI refreshing Session Information 
| 
*/ 
$config['sess_cookie_name']  = 'myhmvc_session'; 
$config['sess_expiration']  = 7200; 
$config['sess_expire_on_close'] = FALSE; 
$config['sess_encrypt_cookie'] = FALSE; 
$config['sess_use_database'] = TRUE; 
$config['sess_table_name']  = 'users_sessions'; 
$config['sess_match_ip']  = TRUE; 
$config['sess_match_useragent'] = TRUE; 
$config['sess_time_to_update'] = 300; 

/* 
|-------------------------------------------------------------------------- 
| Cookie Related Variables 
|-------------------------------------------------------------------------- 
| 
| 'cookie_prefix' = Set a prefix if you need to avoid collisions 
| 'cookie_domain' = Set to .your-domain.com for site-wide cookies 
| 'cookie_path' = Typically will be a forward slash 
| 'cookie_secure' = Cookies will only be set if a secure HTTPS connection exists. 
| 
*/ 
$config['cookie_prefix'] = "my"; 
$config['cookie_domain'] = "myhmvc.co.uk"; 
$config['cookie_path'] = "/"; 
$config['cookie_secure'] = FALSE; 

Любая помощь очень ценится, желающих попробовать что-нибудь на этом этапе.

ответ

0

Я до сих пор не понял проблемы Codeigniter с сеансами, но, читая другие сообщения, проблема связана с сеансами по умолчанию.

Я установил драйвер Session видел здесь: http://getsparks.org/packages/session-driver/versions/HEAD/show

Что теперь неподвижный вопрос.

Надеюсь, это поможет другим, у кого были подобные проблемы.

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