2011-12-23 10 views
1

私は別のサイトのcsvファイルを生成するためにスクリプトを使用しています。 私はすべての製品を手に入れています。構成可能なものについては、説明の中にいくつかの属性を追加しています。ここで2000年の子供の属性を取得する

は、各設定可能に呼び出される関数内のコードです:

$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; 
    } 

私は何とか製品を大量に出力が突然すべて取得せずに停止していることに気づきました。私はこのコードの有無にかかわらずテストしました。私が期待通りに得ることなく、 私はset_time_limit(0)を持っています。 しかし、すべての製品から情報を取得する前に私のスクリプトが終了する理由はわかりません。 この現象を引き起こす可能性のあるアイデアはありますか?

+0

多くのものがこのような現象を引き起こす可能性があります。私の最初の2つの推測は「例外」または「メモリ不足」です。 MagentoとPHPのログファイルには何もありませんか? –

+0

ログには何もありません。私の無知では、私はtime_limit toughtで十分でしょう。 memory_limitを高い値に追加すると、それは機能します。 – Ovidiu

答えて

0

これは適切な解決策ではありませんが、私のスクリプトで動作します。 私は

ini_set('memory_limit', '512M'); 

を追加しました。私は512があまりにも多すぎることを知っていますが、確かに将来の行動を防ぐためには、より多くの製品が必要になります。

0

あなたはメモリの制限とPHPの実行時間を増やす必要があります - magentoは飢えているリソースです。

また、カスタムスクリプトを使用して製品csvを生成します。私はこれらの種類のタスクをコマンドラインから実行することをお勧めします。

関連する問題