当我在 Magento 中打开缓存时,出现以下异常:
Serialization of 'Mage_Core_Model_Layout_Element' is not allowed
异常发生在
app/code/core/Mage/Page/Block/Template/Links.php
, 在线的:return parent::getCacheKeyInfo() + array(
'links' => base64_encode(serialize($links)),
'name' => $this->getNameInLayout()
)
我正在使用 Magento Enterprise 1.10 和 PHP 5.3。
谁能告诉我是什么问题?
最佳答案
你不应该有一个空的 after_text
或 before_text
布局文件中的标签。如果您不需要它,只需删除标签即可。
如果没有帮助,请转储 $links
在 app/code/core/Mage/Page/Block/Template/Links.php 文件中第 150 行之前的变量,您将看到一个包含数组的数组。所有的键和值都应该是字符串或整数,而不是对象。作为对象的数组值的键将告诉您要从布局文件中删除哪个标签。
关于caching - Magento 中不允许序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6422876/