在db中存储会话

时间:2013-01-26 13:49:03

标签: php mysql codeigniter

刚刚修改了config.php:

$config['sess_cookie_name'] = 'cisession';  //[changed]
$config['sess_expiration']  = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = TRUE;  //[changed]
$config['sess_use_database']    = TRUE;  //[changed]
$config['sess_table_name']  = 'cisessions';  //[changed]
$config['sess_match_ip']    = TRUE;  //[changed]
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

每当我刷新页面时,当我用以下内容打印会话时,我有一个新的session_id:

echo'<pre>SESSION:';
print_r($this->session);
echo'</pre>';

每次刷新时都有以下更改:

[session_id] => 8ebbdc82de64fe302fe7e02347d29ecc

我现在也无法登录该站点(在localhost上开发)。

问题:

1)为什么config.php中的这些更改现在杀死了网站?

2)如何解决这个问题?

注意: 我在db中添加了一个名为“cisessions”的mysql表,并按照以下所有说明进行操作:

http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

标题为:什么是会话数据?

任何其他帮助/建议赞赏的人...

1 个答案:

答案 0 :(得分:0)

如果使用Encryption类或Session类,则必须设置加密密钥。

$config['encryption_key'] = 'your_encryption_key_here';

或尝试留空cookie_domain

$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";