2015-09-07 35 views
3

我得到这个致命的错误:Magento会话序列化在哪里?

PHP Fatal error: 
Uncaught exception 'Exception' with message 
'Serialization of 'Mage_Core_Model_Config_Element' is not allowed' 
in [no active file]:0 Stack trace: #0 {main} 
thrown in [no active file] on line 0 

我的理解是试图序列Mage_Core_Model_Config_Element和失败,但我从来没有使用过getNode(),它总是getStoreConfig()我。

我很高兴能够调试这个,如果我能找到其中它正在生成。 Magento会话在哪里被序列化?

注意:尝试在页脚中回显序列化(如提示的一个线程)在这种情况下不起作用。会话没有被设置(导致这个错误),所以当它到达页脚时没有错误...

+0

寻找函数['session_write_close()'](http://php.net/session_write_close)的用法可以引导你一种方式,但它的用法相当普遍,所以对你的问题没有快速,明确的答案。 – hakre

回答

1

我找到了导致这个错误。但有兴趣找出调试地点在哪里,但由于没有适当的答案,所以没有理由再等待。

无论如何,问题是添加一个模型对象到会话中,显然这是一个禁忌。在某一点或另一点,它必须包含一个元素的类。

+0

我也在努力解决这个错误。任何关于查找要将模型对象添加到会话的文件的指针? – sampoh

+1

对我来说,这是非常明显的,因为我正在开发一个模块,将会话添加到会话中。我建议检查你安装的任何第三方模块,因为Magento核心不会出于同样的原因,任何其他开发人员不应该这样做 - 原始文章中的错误。 :)否则也有选项 - 在会话保存之前尝试查看对象并查看是否发现任何内容。一旦你看到一个对象 - 搜索setData(X ...和setX,其中X是它保存的关键字,这将是我的第一个建议。 –