我在CodeIgniter的/application
文件夹外有一个名为myfolder
的文件夹。
我的CI应用程序使用Native PHP会话,一切正常。 CI版本是最新的3.0开发版。
我需要访问myfolder / myfile.php中的一些会话数据。如果我执行session_start()
然后print_r($_SESSION);
,那么我看不到CI会话驱动程序设置的会话。我明白为什么它没有表现出来。
您是否知道我可以通过myfolder中的CI会话引用会话数据的任何方法/ hack。例如,直接包括Codeigniter / libraries / session / drivers / session_native.php或任何其他文件?我只是会话数据中的一个数组。
答案 0 :(得分:2)
这是一个技巧,但做的工作。在登录重定向之前放置这个小顽皮的代码。现在你也可以使用ci_session
和php本地会话,玩得开心!
<?php
session_start();
echo $_SESSION['ci_session'] = $this->session->userdata['ci_session'];
?>
答案 1 :(得分:1)
当前Session_native.php似乎没有改变任何内置会话库的首选项或干扰会话数据的保存方式,我认为以下内容应该有效:
session_id($sessid)
session_start()
session_start()
只要控制会话库的各种ini设置(如session.save_path
)相同且可能(如果您的主机安装了此扩展程序)suhoshin settings suhosin.session.cryptdocroot
之后,这应该可以正常工作不干涉。
答案 2 :(得分:0)
你可以进入库克斯
<?php
print_r($_COOKIE['ci_session']);
答案 3 :(得分:0)
将您想要从文件夹外部引用的会话数据保存到cookie中,这可能会对您有所帮助。
因此,使用cookie来引用文件夹外部的数据,并确保在设置cookie时它应该处于适当的可访问路径