2

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

我是否必须更改任何设置才能使 Sessions 工作?


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

4

1 回答 1

7

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

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

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

我把它改成了这个:

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

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

于 2012-04-06T13:35:29.423 回答