某些用户在 OpenCart 中的 VQMOD 生成的页面上遇到内存错误,报告脚本已分配近一个gigabyte of memory!
(1046478848 字节)
报告的页面是vq2-system_library_cart.php
,当客户有“已保存的购物车”时,登录时会发生错误。
OpCache 信息包含违规页面的以下内容:
'/Users/username/Sites/mzoo/pcolacoop/vstore/vqmod/vqcache/vq2-system_library_cart.php' =>
array (size=6)
'full_path' => string '/Users/username/Sites/mzoo/pcolacoop/vstore/vqmod/vqcache/vq2-system_library_cart.php' (length=87)
'hits' => int 6
'memory_consumption' => int 155144
'last_used' => string 'Wed Aug 13 18:22:29 2014' (length=24)
'last_used_timestamp' => int 1407972149
'timestamp' => int 1407971667
使用 xDebug 显示对 6 个函数的调用vq2-system_library_cart.php
,其中包含 Cart 类:__construct、getTaxes、countProducts、getSubtotal、hasShipping 和 getProducts(getProducts 被调用 5 次)。
但是在 xDebug 中trace
,我根本没有看到vq2-system_library_cart.php
。
这是PasteBin上的整个代码页面。
我还能如何找出导致此内存错误的原因?
(附带说明,VQMOD 几乎在和10,000
之间进行调用,这似乎很多。)VQNode -> getContent
VQModObject -> applyMod