php - Codeigniter 会话的奇怪行为
问题描述
我正在开发一个基于 CodeIgniter 的应用程序。此应用程序使用自定义控制器扩展其控制器,该控制器CP_Controller
位于application/core
. 它看起来像这样:
class CP_Controller extends CI_Controller {
var $settings;
var $body_classes = array();
var $data = array('theme' => 'cmodule');
public function __construct() {
parent::__construct();
// print_r($_SESSION);
}
...
}
问题是,print_r($_SESSION);
。如果我取消注释,它会打印[__ci_last_regenerate] => 1589186369
. 没关系。没有自定义会话数据。
但仅对于特定请求,这将返回一个充满会话内容的整个数组。即使这是我在全新的浏览器会话或私有模式下运行的唯一请求。
在这种情况下,奇怪的是业务逻辑尚未执行,并且在此之前没有设置任何会话。那么怎么可能在这一点上,在一个空白的浏览器会话中,我正在获取会话数据。我无法弄清楚此会话数据的来源,它在哪里设置到会话中?它只调用parent::__construct();
before print_r
。
Codeigniter 应用程序真的有什么方法可以挂接到会话并在初始系统引导级别(仅针对该特定请求)填充会话吗?或者还有其他方法吗?
谢谢。
解决方案
推荐阅读
- google-apps-script - 加速 Google 脚本值访问和元数据?
- angular - 用户打开新标签时如何重置会话/本地存储?
- amp-html - 我们如何捆绑一个反应组件来使用 AMP 脚本
- c# - 在 ASP.NET Core 中发布没有表单的数据
- angular - 如何修复Angular中的经典锚方法(id-href)?
- c# - Asp .Net Identity 自定义 AspNetUser 主 id 字段值?
- magento - 从 magento 插件更改不生效,但从 magento\vendor 更改显示效果
- excel - 在不同的工作表上查找具有多个结果的值
- android - 以编程方式防止android应用程序的远程屏幕录制
- javascript - javascript中Object(this)的目的是什么?