我对所有产品(在一个 cron 内)进行了一个简单的循环,以生成一个块并缓存结果,
但是 toHhtml 方法让 memory_get_usage() 每个产品增长到大约 0.1M
我可以减少 getModel 负载的影响,但 toHTML 会杀死它
foreach($products as $productid) {
// leaks but clear instance helps
$model = Mage::getModel("catalog/product")->load($productid);
$block1 = Mage::app()->getLayout()->createBlock("catalog/product_list_upsell");
$block1 = $block1->setTemplate("catalog/product/list/upsell.phtml");
// kills it
cacheContent($block1->toHTml());
// this helps
$model->clearInstance();
}
任何想法,除了在单独的 php 调用中处理每个循环项?