我遇到了cakephp的Session-> write方法的问题。
如果我设置一个像$ _SESSION ['..']这样的值,我就能读回来。但是,如果我使用write方法,它就无法正常工作。
我的问题与此处相同:http://www.nabble.com/Session-problem-td16684956.html
相同的代码在Windows中工作,但在我转移到linux后它无法正常工作。
任何许可问题都是原因吗? (但我已经完全获得了蛋糕应用程序目录的rw权限。)
代码示例:在链接中:http://www.nabble.com/Session-problem-td16684956.html
蛋糕版:1.2.3.8166
答案 0 :(得分:2)
确保不是你的一些步骤:
最后但并非最不重要的是,尝试将session persistence移动到您的数据库(请参阅:Session.save),只是为了测试那种方式,你永远不知道你会发现什么。
希望如果你尝试所有这些,你会找到一些东西。
答案 1 :(得分:0)
您还应该尝试使用Cache :: read和Cache :: write
if (($session = Cache::read('session')) === false)
{
$session = 'some values';
Cache::write('session', $session);
}
首先,它将尝试初始化Cache :: read。如果返回false,则为Cache :: write 将参与将值存储在会话中。
答案 2 :(得分:-1)
Prabu,
虽然我怀疑Configure :: write()调用有时会正确设置会话信息(至少它看起来就像可能工作),Cake约定(又名CakeWay)是使用Session助手。我相信它默认包含在所有Cake控制器中;如果没有,您可以随时声明您的控制器:
class UsersController extends AppController {
...
var $helpers = array( 'Session', ... )
...
}
然后,当您想要向会话写信息时,只需致电:
$this->Session->write( 'checkAgent', false );
要回读值,请使用:
$this->Session->read( 'checkAgent');
有关会话助手的更多信息,请查看CakeBook @ http://book.cakephp.org/view/484/Session