Magento 从2000个产品的子级获取属性

Magento 从2000个产品的子级获取属性,magento,Magento,我正在使用脚本为另一个站点生成csv文件。 我得到了所有的产品,在可配置的产品上我添加了一些属性 以下是在每个可配置函数上调用的函数内部的代码: $children_ids = $product->getTypeInstance()->getUsedProductIds(); foreach($children_ids as $child_id){ $child = Mage::getModel('catalog/product')->load

我正在使用脚本为另一个站点生成csv文件。 我得到了所有的产品,在可配置的产品上我添加了一些属性

以下是在每个可配置函数上调用的函数内部的代码:

    $children_ids = $product->getTypeInstance()->getUsedProductIds();

    foreach($children_ids as $child_id){
        $child = Mage::getModel('catalog/product')->load($child_id);
        $attributeValue = $child->getAttributeText($attributeLabel);
        $child_qty = (int)$child->getStockItem()->getQty();
        $mage_size[$attributeValue] = $child_qty;
        $simple_qty += $child_qty;
    }
我注意到,在大量的产品上,不知何故,产量突然停止,而没有得到全部。我使用和不使用此代码进行了测试。没有我得到了预期的结果。 我已设置时间限制(0); 但不知道为什么我的脚本在从所有产品获取信息之前终止。
有什么想法会导致这种行为吗?

这不是一个合适的解决方案,但对我的脚本有效。 我补充说


而且效果很好。我知道512太多了,但只是为了确保将来会有更多的产品出现,并防止这种行为。

你们都必须增加内存限制和PHP的执行时间-magento非常需要资源


我还使用自定义脚本生成产品csv。我建议从命令行运行这类任务。

很多事情都可能导致这种行为。我的前两个猜测是
异常
内存不足
。Magento和PHP日志文件中没有任何内容?日志中没有任何内容。在我无知的情况下,我认为时间限制就足够了。一旦我将内存限制添加到一个高值,它就会工作。
ini_set('memory_limit', '512M');