问题描述
|
我正在使用Kohana框架的网站上工作。到目前为止,我参与并接管该项目一直很好。今天,我正在实现一些需要使用会话变量的第三方功能。我可以设置会话变量,并在使用控制器为其提供服务的页面上很好地使用它,但是如果我进行ajax调用或在这种情况下调用第三方页面,则会话数据对我不可用。
我无法弄清楚这一点。我已经尝试了Kohana论坛中的一些内容,但似乎没有任何效果。
视觉示例:
html
html /应用
控制器文件
ajax.PHP
third-party.PHP
如果我调用ajax.PHP,则无法访问在“ kohana”页面中设置的会话数据。
我的system / config / session.PHP文件使用\'cookie \'作为驱动程序。过期和重新生成设置为0。
有任何想法吗?
解决方法
那是因为您正在使用cookie会话驱动程序。如果您使用的是\'native \'驱动程序,则可以访问该驱动程序,该驱动程序使用内部php会话。
如上所述,您是否没有在Kohana中构建ajax.php的某些原因?那将为您省去很多麻烦。
另一方面,可以从外部ajax.php中解密会话(我不建议这样做,但是必须这样做才能使kohana会话数据传递到运行于WordPress的安装程序上)子域)。
, 从您对会话配置的看法来看,我认为您正在使用Kohana2.x。
Kohana 2清除$ _GLOBALS。因此,访问本地
$_POST
,$_COOKIE
,$_SESSION
,$_GET
,$_GLOBALS
和$_REQUEST
数组可能会遇到问题。
我建议对会话库使用本机驱动程序,但我强烈建议您进一步迁移到Kohana3.x。