2015-09-07 90 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是它保存的關鍵字,這將是我的第一個建議。 –