【问题标题】:Where is Magento session serialized?Magento 会话在哪里序列化?
【发布时间】:2015-12-02 16:10:52
【问题描述】:

我收到了这个致命错误:

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()

如果我能找到 WHERE 它正在生成,我很乐意调试它。 Magento 会话在哪里被序列化?

注意:在这种情况下,尝试在页脚中回显序列化(如建议的一个线程)不起作用。会话未设置(导致此错误),因此到达页脚时没有错误...

【问题讨论】:

  • 搜索函数 session_write_close() 的用法可以为您提供指导,但它的使用范围相当广泛,因此您的问题没有快速、明确的答案。

标签: php magento session serialization


【解决方案1】:

我找到了导致此问题的错误。不过很想知道调试的地方在哪里,但由于没有正确的答案,没有理由再等了。

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

【讨论】:

  • 我也在努力解决这个错误。有关查找将模型对象添加到会话中的文件的任何指针?
  • 对我来说这很明显,因为我正在开发一个向会话添加内容的模块。我建议检查您已安装的任何第三方模块,因为 Magento 核心不会这样做,原因与任何其他开发人员不应该这样做的原因相同 - 原始帖子中的错误。 :) 否则也有选项 - 在会话保存之前尝试检查对象并查看是否发现任何东西。一旦你看到一个对象 - 搜索 setData(X... 和 setX ,其中 X 是保存它的键。这将是我的第一个建议。
猜你喜欢
  • 1970-01-01
  • 2011-05-29
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 2019-05-08
  • 2010-10-02
相关资源
最近更新 更多