我有一个 kohana 安装,版本 3.x,并且我已经在使用“本机”驱动程序。
我想在 kohana 控制器中设置一个 $_SESSION 变量,并且能够在一个 external.php 文件中使用它,即在 kohana 安装之外。
我怎样才能在不搞砸 kohana 正在使用的会话的情况下做到这一点?
谢谢。问候
我正在查看 3.2 中的代码,您几乎应该能够通过像平常一样调用它来获取数据。
Session::instance()->set('foo', 'bar');
// Should return 'bar'
echo $_SESSION['foo'];
Kohana 的本地驱动程序通过将 Session::$_data 设置为对 $_SESSION 的引用来初始化会话。唯一可能使这种情况变得奇怪的是,如果它以某种我没有看到的方式使用 __toString() ,那么它将在哪里序列化数据。AFAIK,它没有,但这不是我第一次犯错。您可能要检查的唯一一件事是 Kohana 中的会话使用的 cookie 名称,并确保您使用它来获取外部代码的正确 session_id()。
我的问题是您为什么以及如何访问该外部 php 文件?如果需要,您可以将其拉入 Kohana 并与 Kohana 代码一起使用。