2010-04-13 93 views
0

我在cakephp中遇到了会话问题。我在webroot文件夹中有一个文件chat.php,但是当我用ajax运行该文件时,我无法找到从chat.ctp文件创建的会话。 所以任何人都有想法如何获得CakePHP第三方文件中的会话。不能在CakePHP中获取会话

我可以写会话任何.ctp文件吗?

Thanks.please帮助我。

+0

一些代码会有所帮助。 – Young 2010-04-13 11:21:10

回答

2

我假设你使用会话组件来编写会话变量,然后尝试从使用$ _SESSION变量的蛋糕作用域之外的普通'ol php文件中读取它。

正如你所知道的,这并不能保证正常工作。处理这个问题的最好方法是使用控制器,动作和视图将chat.php文件整合到Cake中。

如果出于某种奇怪的原因这是不可能的,您将需要导入所有负责设置蛋糕和实例化会话组件并使用它从会话中读取的文件。我强烈建议以#1的方式进行。

3

是的,这完全有可能。

在APP /配置/ core.php中,找到“Session.cookie”配置值:

Configure::write('Session.cookie', 'CAKEPHP'); 

然后,在外部文件,只需设置相同的会话名称当您启动会话:

session_name('CAKEPHP'); 
session_start(); 
print_r($_SESSION); 

我听说这是一个不稳定的东西,但对我来说,上面的解决方案迄今在两个项目中工作。