CodeIgniter会话和常规会话可以共存吗?

时间:2013-09-26 22:50:57

标签: php codeigniter session

CodeIgniter用户指南版本2.1.4说明了这一点:

  

注意:Session类不使用本机PHP会话。它会生成自己的会话数据,为开发人员提供更多灵活性。

https://www.codeigniter.com/userguide2/libraries/sessions.html

我无法找到关于CI会话替换原生会话的明确直接解释,或者只是一个替代方案,并且他们实际上同时共存,其中在技​​术上可以同时使用两者。

不是那个人想要的,但它会避免。

提前致谢。

1 个答案:

答案 0 :(得分:4)

根据用户指南,

Sessions如何运作?

When a page is loaded, the session class will check to see if valid session data exists in the user's session cookie. If sessions data does not exist (or if it has expired) a new session will be created and saved in the cookie. If a session does exist, its information will be updated and the cookie will be updated. With each update, the session_id will be regenerated.

因此CI使用cookie,它与PHP的本机会话分开。

还可以选择使用数据库,模仿PHP的本机会话,但是在数据库而不是文件系统上。但它很容易出现已知错误,这是一个例子:codeigniter session expires frequently

简而言之,它们如所述完全分开,是的,它们可以同时共存。但是,只有通过PHP的本机方法手动创建会话时才会这样做。