Session CakePHP 2.1$this->;会话->;写不起作用

Session CakePHP 2.1$this->;会话->;写不起作用,session,cakephp,cakephp-2.0,Session,Cakephp,Cakephp 2.0,我在AppController.php中包含了“会话”组件和助手 现在,如果我使用$this->Session->write('App.testString','test')会话没有创建,或者至少当我执行echo$this->Session->read('App.testString')时没有收到字符串 我是否必须更改会话的任何设置才能工作 在控制器函数中,我可以写入和读取会话,但如果我想在不同的函数(同一控制器)中读取会话,我不会得到返回值。我找到了解决方案:默认情况下,CakePHP使用p

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

我是否必须更改会话的任何设置才能工作



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

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

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

Configure::write('Session', array(
    'defaults' => 'php'
));
我把它改成了这个:

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

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

您需要告诉我们您的core.php设置(会话是如何配置的?)。啊,对不起。我找到了答案,正如您所建议的,core.php是它无法工作的原因。