2015-10-30 36 views
1

從2.X升級到3.X的CodeIgniter後我開始以下問題缺少會話表

Error Number: 1146 

Table 'databaseName.prefix_' doesn't exist 

UPDATE `prefix_` SET `last_activity` = 1446185100, `user_data` = 'a:2:{s:9:\"user_data\";s:0:\"\";s:13:\"flash:new:msg\";s:96:\" 

Invalid username and password or Organization! 
\";}' WHERE `session_id` = '9a1bb9c4241d7ee2af0fc3384e7852f9' 
Filename: libraries/Session.php 

Line Number: 305 

我已經更新了配置文件我的會話配置變量如下

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = 'ci_sessions'; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 
+0

顯示您的數據庫設置所有代碼包含此$ db ['default'] ['dbprefix'] ='';' –

回答

1

您必須在數據庫中創建表

運行此查詢

CREATE TABLE IF NOT EXISTS `ci_sessions` (
    session_id varchar(40) DEFAULT '0' NOT NULL, 
    ip_address varchar(45) DEFAULT '0' NOT NULL, 
    user_agent varchar(120) NOT NULL, 
    last_activity int(10) unsigned DEFAULT 0 NOT NULL, 
    user_data text NOT NULL, 
    PRIMARY KEY (session_id), 
    KEY `last_activity_idx` (`last_activity`) 
); 

改變這個設置以及在application/config/config.php

$config['sess_cookie_name']  = 'ci_session'; 
$config['sess_expiration']  = 7200; 
$config['sess_expire_on_close'] = FALSE; 
$config['sess_encrypt_cookie'] = FALSE; 
$config['sess_use_database'] = TRUE; # change this to TRUE 
$config['sess_table_name']  = 'ci_sessions'; #table name 
$config['sess_match_ip']  = FALSE; 
$config['sess_match_useragent'] = TRUE; 
$config['sess_time_to_update'] = 300; 

確保您的數據庫連接。

+0

樂意提供幫助。享受編碼:) –