CodeIgniter 用户指南版本 2.1.4 是这样说的:
Note: The Session class does not utilize native PHP sessions. It generates its own session data, offering more flexibility for developers.
( https://www.codeigniter.com/userguide2/libraries/sessions.html )
关于 CI session 是否取代原生 session ,或者仅仅是一种替代方案并且它们实际上同时共存,我找不到明确的直接解释,其中如果在技术上可以同时使用两者。
不是说有人会想要,而是应该避免。
提前致谢。
最佳答案
根据用户指南,
session 是如何工作的?
加载页面时, session 类将检查用户的 session cookie 中是否存在有效的 session 数据。如果 session 数据不存在(或已过期),将创建一个新 session 并将其保存在 cookie 中。如果一个 session 确实存在,它的信息将被更新,cookie 将被更新。每次更新时,都会重新生成 session_id。
因此 CI 使用 cookie,它与 PHP 的本地 session 是分开的。
还有使用数据库的选项,模仿 PHP 的 native session ,但在数据库而不是文件系统上。但它很容易出现已知错误,这是一个示例:codeigniter session expires frequently
简而言之,正如所描述的那样,它们是完全独立的,是的,它们可以同时共存。不过,只有当您通过 PHP 的 native 方法手动创建 session 时才会这样。
关于php - CodeIgniter session 和常规 session 可以共存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19039993/