我在这里找到了很多类似问题的主题。但是我觉得他们都没用了。 我甚至发现了一个类似问题的好主题,我想问一下: How to Debug "Fatal error: Out of memory (allocated XXX) (tried to allocate XXXXX bytes)"? 不知道为什么这个话题被关闭了。问题存在,我没有在谷歌任何算法中找到如何检测这个问题。
当存在一些循环时,通常出现内存不足的问题。当某些代码运行多次之前,内存不会消失。增加记忆力无济于事!!!
我想在这里收集如何检测循环的方法。例如,制作一些日志消息或调试SQL查询。任何方式,可以帮助检测问题。这个问题可以与任何扩展,两个扩展的组合。我可以提供给我的第一种方式:
- 禁用magento的部分/模块/主题
(它是我唯一使用的,上次没有帮助我)
例如,这里是我遇到以下错误的地方:
第206行的/lib/Varien/Object.php
public function setData($key, $value=null)
{
if(is_array($key)) {
$this->_data = $key;
} else {
$this->_data[$key] = $value;
}
return $this;
}
非常老的magento 1.3.2.4
尝试创建发票后。
答案 0 :(得分:0)
我建议您启用开发人员模式,确保启用日志记录(system-> configuration-> developer),然后开始使用日志消息自由地填充核心代码:
Mage::log("Some message about which function you are in ".$someHelpfulVariable, null, 'mylogfile.log');
您是否有此错误的跟踪?在您的问题中添加跟踪会很有帮助。在跟踪中的每个函数中放入一些日志记录代码,以便您可以看到导致致命错误的原因。