1

在我的不同脚本中(不使用 Codeigniter,但它在同一个域上)我这样设置我的会话数据:

<?php
session_start();
$_SESSION['something'] = 'test';

它为什么在那个单独的文件中有效,但在 Codeigniter 会话中却无效?

当我var_dump( $this->session->all_userdata() );在任何 Codeigniter 控制器中时,它不会显示我的'something'会话数据。

怎么了?可以这样做吗?

4

1 回答 1

2

Codeigniter 管理自己的会话,并有几种不同的存储方法(它不一定使用 php 的本机会话存储作为后端)。

您仍然应该能够something通过执行访问 codeigniter 中的变量

session_start();
var_dump($_SESSION);

如果您不担心修改 CI 核心,您可以修改会话库以从 $_SESSION 中提取数据。

更简洁的解决方案是编写一个挂钩,将本机 CI 会话与默认的 PHP $_SESSION 超全局会话合并。

于 2012-06-09T01:06:56.190 回答