session - CakePHP 2.1 $this->Session->write 不起作用

标签 session cakephp cakephp-2.0

我在 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/

相关文章:

java - 所有代码是否在同一 session 中的 mvc Controller 方法内运行?

jsf - 我们应该在普通的 JSF session 中找到什么?

PHP 版本必须等于或高于 5.6

mysql - 如何从 CakePHP 库中引用数据库

mysql - Cakephp 虚拟字段如果此列为空则使用此列

cakephp - 如何在 Cakephp 中保存特定字段

java - Play 框架 - 在多个调用中保存对象状态

java - 为什么 spring mvc 在自己的 session 中存储对象

cakephp - 通过在 CakePHP 上使用 JavaScript 创建表单来避免 CSRF 攻击

cakephp - 如何在默认位置的其他位置显示CakePHP输入验证错误?