CakePHP 2.1 $ this-> Session-> write无效

时间:2012-04-06 12:55:09

标签: session cakephp cakephp-2.0

我在AppController.php中包含了'Session'组件和帮助器 现在,如果我使用$this->Session->write('App.testString', 'test);,则不会创建会话,或者至少我在echo $this->Session->read('App.testString');时没有收到字符串。

我是否必须更改Sessions的任何设置?


在控制器功能中,我可以编写和读取会话,但是如果我想在不同的函数(同一个控制器)中读取会话,我就不会得到一个值。

1 个答案:

答案 0 :(得分:6)

我找到了解决方案:默认情况下,CakePHP使用php.ini中设置的文件夹。在我的托管环境中无法访问此文件夹(我不允许更改php.ini)。

在这种情况下,您必须更改存储会话文件的 core.php 。这就是我之前所拥有的:

Configure::write('Session', array(
    'defaults' => 'php'
));

我把它改成了这个:

Configure::write('Session', array(
    'defaults' => 'cake'
));

这样,cake使用自己的tmp文件夹来存储会话文件。还要确保tmp文件夹及其子文件夹是可写的。