我在 AppController.php 中包含了“ session ”组件和助手
现在,如果我使用 $this->Session->write('App.testString', 'test);
session 不会创建,或者至少在创建时我没有收到字符串echo $this->Session->read('App.testString');
。
我是否必须更改任何设置才能使 session 正常工作?
<小时/>在 Controller 函数内,我可以写入和读取 session ,但如果我想在不同函数(同一 Controller )内读取 session ,我不会得到返回值。
最佳答案
我找到了解决方案:默认情况下,CakePHP 使用 php.ini 中设置的文件夹。无法在我的托管环境中访问此文件夹(并且不允许我更改 php.ini)。
在这种情况下,您必须更改存储 session 文件的core.php。这是我之前的情况:
Configure::write('Session', array(
'defaults' => 'php'
));
我把它改成了这个:
Configure::write('Session', array(
'defaults' => 'cake'
));
这样,cake 使用他自己的 tmp 文件夹来存储 session 文件。还要确保 tmp 文件夹及其子文件夹可写。
关于session - CakePHP 2.1 $this->Session->write 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10043770/