【发布时间】:2014-02-05 12:58:41
【问题描述】:
$config['sess_use_database'] = TRUE;
我在 tank auth 中遇到了这个问题。是否需要将会话数据保存在数据库中。我是新手。有人能告诉我为什么吗?如果我将它设置为 FALSE 会怎样。它会影响 Web 应用程序吗?
【问题讨论】:
标签: php codeigniter session tankauth
$config['sess_use_database'] = TRUE;
我在 tank auth 中遇到了这个问题。是否需要将会话数据保存在数据库中。我是新手。有人能告诉我为什么吗?如果我将它设置为 FALSE 会怎样。它会影响 Web 应用程序吗?
【问题讨论】:
标签: php codeigniter session tankauth
Session 类将每个用户的会话信息存储为 cookie 中的序列化(和可选加密)数据。
Cookie 有一个limit of 4k。
通过设置$config['sess_use_database'] = TRUE;,您允许codeigniter 将“cookies”保存在数据库中,这样数据就可以满足应用程序的需要。
您一直在询问它是否会影响网站...如果您没有自己创建应用程序,请不要更改它。
如果您知道会话中的数据将大于 4k,请启用它,否则请不要使用此设置。
【讨论】:
在某些主机上使用会话可能会出现问题。为了对抗这个会话,数据被保存在数据库中。另一个原因是在扩展时在多个服务器之间共享会话。
【讨论】:
来自 CI 用户指南:
$config['sess_use_database'] = TRUE;
一旦启用,Session 类将在 DB 中存储会话数据。
确保您在配置文件中也指定了表名:
$config['sess_table_name'] = 'ci_sessions';
CI Session 会将数据存储在 COOKIES 中。所以出于安全原因,您可以存储在数据库中。
另一个原因,如果您正在开发电子商务网站,您会将产品存储在购物车中。因此,当用户登录另一个系统时,如果您将 session 存储在 table 中,他们的购物车将被保留。
【讨论】: