在codeigniter tank auth中将sess_use_database设置为TRUE有什么用?

时间:2014-02-05 12:58:41

标签: php codeigniter session tankauth

$config['sess_use_database']    = TRUE;

我在tank auth中遇到过这个问题。是否需要在数据库中保存会话数据。我是新手。可以告诉我为什么?如果我将其设置为FALSE,它会影响Web应用程序吗?

3 个答案:

答案 0 :(得分:1)

  

Session类将每个用户的会话信息存储为   cookie中的序列化(和可选加密)数据。

Cookie有limit of 4k

通过设置$config['sess_use_database'] = TRUE;,您允许codeigniter在数据库中保存“cookies”,以便数据可以与应用程序需求一样大。

您一直在询问它是否会影响网站...如果您没有自己创建应用程序,请更改它。

如果您知道会话中的数据大于4k,则不会对此设置感到烦恼。

答案 1 :(得分:0)

在某些主机上使用会话可能会出现问题。为了对抗此会话,数据将保存在DB中。另一个原因是在扩展时在多个服务器之间共享会话。

答案 2 :(得分:0)

来自CI用户指南:

$config['sess_use_database']    = TRUE;

启用后,Session类会将会话数据存储在数据库中。

确保您已在配置文件中指定了表名:

$config['sess_table_name'] = 'ci_sessions';

CI会话将数据存储在COOKIES中。因此,出于安全原因,您可以存储在DB中。

另一个原因是,如果您正在开发电子商务网站,您将把产品存放在购物车中。因此,当用户在另一个系统中登录时,如果您将会话存储在表中,则会保留其购物车。