【问题标题】:CodeIgniter Session Class handling session through database errors CI 2.0.2CodeIgniter 会话类通过数据库错误 CI 2.0.2 处理会话
【发布时间】:2011-08-26 05:39:13
【问题描述】:

我正在通过 CodeIgniter 会话存储数据,但由于某种原因,当我存储包含大量数据的会话时,它会将我从应用程序中注销。

在用户指南中:“注意:Cookie 只能保存 4KB 的数据,因此请注意不要超出容量。特别是加密过程会产生比原始数据更长的数据字符串,因此请仔细跟踪您的数据量正在存储。”

这是否意味着,即使我将它存储在数据库中,我也不应该在我的会话中存储大数据?

更不用说,它不断添加 0.0.0.0 作为 IP 和 0 作为用户代理...

'f2361497fefcd079523534c3230c3ac3', '0.0.0.0', '0', 1314307801, ''

【问题讨论】:

  • 确保在您的配置中设置了将会话信息本身存储在数据库中,我相信它是$config['sess_use_database'],需要设置为true
  • 我在使用数据库时将大量数据存储在 Session 中,AFAIK 对您来说也不应该成为问题。
  • @Usman 你的意思是你存储 CI 会话还是 PHP 会话?
  • @Usman 你在使用 CI 2.0.3 吗?
  • 不,我用过 2.0.0 但在使用这个版本时我没有存储太多数据。我有一个使用的旧项目,1.7.2,我在那里存储了足够的数据。会话类从那时起并没有太大变化,除了一些新的配置。

标签: codeigniter


【解决方案1】:

正确。解决此问题的方法是在数据库中创建一个附加表,其 id 等于 session_id,然后您可以基于该表进行查询。

【讨论】:

  • 为什么它在本地工作,而不是在生产环境中工作? localhost可以容纳更多的cookies吗?
猜你喜欢
  • 2016-10-14
  • 2016-07-12
  • 1970-01-01
  • 2012-10-07
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 2017-09-22
  • 2013-03-07
相关资源
最近更新 更多