2013-10-12 61 views
0

最近我将我的cakephp站点从托管服务移动到其他站点。该页面像一个魅力,但现在我有问题,我的会议随机下降。 我在一个共享主机服务,所以我改变了蛋糕的会议默认从PHP到蛋糕,现在我的会话保存到我的tmp/sessions文件夹。 (但它不是用PHP工作要么)Cakephp随机删除会话

跟着我的会话的方式与萤火虫:

  1. 当我登录到网页中,我有一个会话ID,并在TMP /会话文件夹中我有相应的sess_ {sessionid}文件。
  2. 在一些页面上点击几下(完全随机)后,我的sessionid变化,我“退出”了。 我登录的会话文件保留在目录中。在core.php中

我的会话设置现在:

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

我使用的是2.3.8版本的蛋糕。


更新:

最后我发现这个问题感谢尼克。我查了一下CakePHP的错误文件,发现我只有注销了,当时我访问了一个页面,其中包含一个不在服务器上的元素(例如一张图片丢失)。所以我去了Firebug,并检查Net标签说什么。在新的主机服务中,我收到了404 Not Found响应,并在响应中设置了新的会话ID,而在其他服务器上,我测试了该页面,结果我得到了404 Not Found。如果我随机生成链接到不存在的文件(如domain/test.jpg),我会得到相同的结果。

+0

这看起来像一个经典的问题,在会话之前php cookie过期。检查http://stackoverflow.com/questions/11304390/cakephp-session-updates-but-cookie-expiry-doesnt – user221931

+0

不幸的是,会话cookie的到期设置为几个小时(这是正确的设置,检查在萤火虫),但我在一分钟内注销。 – baliika

回答

0

尝试这些设置,在Firefox中可以安装Web开发扩展,然后您可以查看您的Cookie以查看它是否全部设置正确。

Configure::write('Session', array(
'defaults' => 'php', 
'cookie' => 'yourdomain', 
'timeout' => 44640, 
)); 
+0

感谢您的回答,但仍有些事情是不正确的。现在我的cookie被重命名,并在11月到期,但不知何故我仍然退出,并获得新的会话ID – baliika

+0

尝试其他浏览器或从其他机器。萤火虫有时会以某种方式混淆标题,看起来该请求是来自其他浏览器。 – user221931

+0

这是一个好的开始,至少它不是cookie到期的cookie,但它似乎与您的登录和交换到其他页面更相关,我想您使用正确的方式来设置和交换您的数据之间的交换?你也确定这只是因为你交换了托管?您是否尝试在Xammp或Wammp环境中运行您的程序,以确保它是您的主机?这似乎很奇怪,因为如果你使用cakephp来存储你的cookie,它不会去所有共享主机客户的shared/tmp文件夹。 – Nick

0

检查您用于空白(通常在文件末尾)的任何组件。

最近我遇到了这个问题,同时帮助客户使用他们现有的CakePHP站点,当登录到一个称为组件的特定页面正在查看$ this-> Session-> read('Auth')。

有一个CakePHP外壳,您可以使用find whitespace