我正在使用Kohana框架的网站上工作。到目前为止,我一直很好地跳进并接管该项目。今天我正在实现一些需要使用会话变量的第三方功能。我可以设置会话变量并在使用控制器提供服务的页面上正常使用它,但如果我进行ajax调用或在此实例中调用第三方页面,则会话数据不可用。
我无法想出这个。我在Kohana论坛上尝试过一些东西,但似乎没什么用。
视觉示例:
html html/application controller files ajax.php third-party.php
如果我调用ajax.php,我无法访问我在“kohana”页面中设置的会话数据。
我的system / config / session.php文件使用'cookie'作为驱动程序。 Expiration和Regenerate设置为0。
有什么想法吗?
答案 0 :(得分:0)
那是因为你正在使用cookie会话驱动程序。如果您使用的是使用内部php会话的“本机”驱动程序,您可能可以访问。
如上所述,是否有一些原因你没有在Kohana中构建ajax.php?这样可以省去很多麻烦。
另一方面,可以从外部ajax.php中解密会话(我不建议这样做,但必须这样做才能将kohana会话数据传递给运行在其上的WordPress安装子域)。
答案 1 :(得分:0)
根据您对会话配置的说法,我认为您正在使用Kohana 2.x。
Kohana 2清除$ _GLOBALS 。因此,您可能无法访问原生$_POST
,$_COOKIE
,$_SESSION
,$_GET
,$_GLOBALS
和$_REQUEST
数组。
我建议使用会话库的本机驱动程序,但我强烈建议您迁移到Kohana 3.x.