Session 实时站点上的Cakephp会话错误

Session 实时站点上的Cakephp会话错误,session,cakephp,cakephp-2.0,Session,Cakephp,Cakephp 2.0,我在cakephp中使用会话组件时遇到问题。 当在不同服务器上的开发人员站点上时,它们在整个站点上都工作得很好 在新服务器上上载最终版本后,会话似乎不会在某些控制器中启动。只有在两个控制器上才会发生这种情况,但在这些控制器上似乎没有什么不同的操作—除了可能只有这两个控制器使用自定义文件上载器组件这一事实。已尝试禁用此功能,但没有任何更改 该网站是一个电子商务系统,问题主要发生在尝试将项目添加到存储在会话中的购物篮时。这个会话仍然是空白的,而在dev站点上工作了一个咒语 我还使用auth组件来登录

我在cakephp中使用会话组件时遇到问题。 当在不同服务器上的开发人员站点上时,它们在整个站点上都工作得很好

在新服务器上上载最终版本后,会话似乎不会在某些控制器中启动。只有在两个控制器上才会发生这种情况,但在这些控制器上似乎没有什么不同的操作—除了可能只有这两个控制器使用自定义文件上载器组件这一事实。已尝试禁用此功能,但没有任何更改

该网站是一个电子商务系统,问题主要发生在尝试将项目添加到存储在会话中的购物篮时。这个会话仍然是空白的,而在dev站点上工作了一个咒语

我还使用auth组件来登录/注销,虽然这两个区域不需要登录才能正常工作,但它们会导致它在加载时切换为注销,然后在访问站点的任何其他区域时,它会自动切换回。身份验证和会话组件加载到appcontroller中


谢谢

我的个人经验表明,CakePHP的会话独立于Apache+PHP会话。考虑到这一点,采取一些措施确保CakePHP会话(而不是通常的Apache+PHP会话)在网站工作流的早期被实例化是有帮助的,例如,添加类似于
$this->Session->read('foo')
在站点的
beforeFilter()中
。你试着读什么键并不重要,“foo”应该足以开始你的CakePHP会话。

我以前也遇到过类似的问题,对我来说,我和@starlocke有着相同的印象,需要启动一些东西。在检查
$\u Session
是否未定义后,我没有使用Cake的Session组件,而是使用了
Session\u start()
命令。例如:

if(!isset($_SESSION)) session_start();
这被放置在AppController类的beforeFilter()方法中

然后,我还遇到了一个问题,它说它无法启动会话,因为已经有输出到服务器,这对我来说是通过删除控制器中任何关闭的
?>
标记来解决的,因为php不需要这些标记,并停止向浏览器发送任何不必要的输出,就像在本例中一样

进一步阅读php结束标记:


日志文件中有什么有趣的东西吗?在任何时候都不会记录或显示错误,而且一切都会继续工作,但篮子仍然是空的。。。