cakephp会话->;linux中的写问题

cakephp会话->;linux中的写问题,cakephp,Cakephp,我对cakephp的Session->write方法有问题 如果我设置一个像$_SESSION['..']这样的值,我就可以读回它。但是如果我使用write方法,它就不起作用了 我的问题与这里相同: 同样的代码在windows中运行,但在我迁移到linux之后就不起作用了 任何许可问题都是原因吗?(但我已经给了rw对cake应用程序目录的完全权限) 代码示例:在链接中: Configure::write('Session.save','php') Configure::write('Sessi

我对cakephp的Session->write方法有问题

如果我设置一个像$_SESSION['..']这样的值,我就可以读回它。但是如果我使用write方法,它就不起作用了

我的问题与这里相同:

同样的代码在windows中运行,但在我迁移到linux之后就不起作用了

任何许可问题都是原因吗?(但我已经给了rw对cake应用程序目录的完全权限)

代码示例:在链接中:

  • Configure::write('Session.save','php')
  • Configure::write('Session.cookie','CAKEPHP')
  • Configure::write('Session.start',true)
  • Configure::write('Session.checkAgent',false)
  • Configure::write('Security.level','medium')

蛋糕版本:1.2.3.8166

确保它不是你的一些步骤:

  • 清除/app/tmp中的缓存
  • 检查并重新检查您的/app/tmp是否是可循环写入的(这意味着DRWXRWX适用于其中的所有文件夹)
  • 用于检查会话cookie,可能它出了问题
最后但并非最不重要的一点是,尝试将您的数据库移动到您的数据库(请参阅:),这样做只是为了进行测试,您永远不知道会找到什么

如果你尝试所有这些,希望你能找到一些东西。

Prabu

虽然我怀疑Configure::write()调用有时会正确设置会话信息(至少看起来它可能会工作),但Cake约定(也称为CakeWay)是使用会话助手。我相信它默认包含在所有蛋糕控制器中;如果不是,则始终可以将控制器声明为:

class UsersController extends AppController {
 ...
 var $helpers = array( 'Session', ... )
 ...
}
然后,当您想向会话写入信息时,只需调用:

$this->Session->write( 'checkAgent', false );
要读回值,请使用:

$this->Session->read( 'checkAgent');

有关会话帮助器的更多信息,请查看CakeBook@

您还应该尝试使用Cache::read和Cache::write

if (($session = Cache::read('session')) === false) 
{
   $session = 'some values';
   Cache::write('session', $session);
} 
首先,它将尝试初始化Cache::read。如果返回false,则Cache::write
将参与将值存储在会话中。

代码示例和会话配置将很好地看到。。代码示例:与链接中的相同:Configure::write('Session.save','php');Configure::write('Session.cookie','CAKEPHP');Configure::write('Session.start',true);Configure::write('Session.checkAgent',false);Configure::write('Security.level','medium');cake版本:1.2.3.8166您混淆了会话组件和会话助手:在控制器中使用会话组件,而在视图中使用会话助手。会话组件和会话助手都是自动加载的,因此不需要定义它们。