Allowed memory size of 134217728 bytes exhausted

Hallo, ich habe ein Thema im OXID-Shop.

Der fehlerhafte Artikel hat ca. 150 Varianten und beim Aufruf dieses Artikels kommt folgende Fehlermeldung:

Allowed memory size of 134217728 bytes exhausted (tried to allocate 79 bytes) in oxvarianthandler.php on line 379.

Es handelt sich um die Methode _applyVariantSelectionsFilter, an der Stelle loopt OXID über die mitgegebenen Varianten:
foreach ($aSelections as $sVariantId => &$aLineSelections) {

}

Ich habe das memory limit auf 256 Mb angehoben und das ganze scheint nun wieder zu laufen - leider fehlt mir die Erklärung, da Seitens OXID 30 Mb ausreichend sind.

Ich habe mir das Objekt ($aSelections) mitgeloggt und es handelt sich in der tat um ein großes Array, welches aber keine neuen Felder enthält - ich kann mangelhaften Code an der Stelle also ausschließen.

Gibt es hier eine Limitierung Seitens OXID?

Wir nutzen OXID ENTERPRISE EDITION 5.3.0.

Vielen Dank für eure Hilfe.

Da eine EE nicht baugleich mit der quelloffenen CE ist, kann nur der OXID Support eine verbindliche Aussage zu einer EE geben.
Eine CE hat jedenfalls keine derartigen Begrenzungen.
Auch die erwähnte Angabe von 30Mb ist nicht ganz korrekt, laut Systemvoraussetzungen sind 32mb absolutes Minimum und 64mb werden deutlich empfohlen, wobei diese Info nun auch ein paar Jahre alt ist.

Wie viele Auswahllisten / Varianten-Dimensionen hat euer Produkt?
Allein die Menge der Varianten ist nicht aussagekräftig. Einer unserer CE Shops besteht aus Produkten mit je 2-3 Dimensionen und 160-200 Varianten, insgesamt um die 26 000 Artikel, der Shop funktioniert bestens mit einen Memory Limit von 128mb.

Ich kenne die genaue Varianten-Anzahl leider nicht.
Die Aussage von OXID lautet jedoch: OXID ist da einfach aus technischen Gegebenheiten limitiert.

Grüße - Alex

Einfach so dürfte das nicht auftreten. Hast du ggf. ein Modul installiert was darauf Einfluss hat?

Wir haben einen blanken OXID aufgesetzt - hierbei trat der Fehler ebenfalls auf.

Folgendes kam vom Support:

ich konnte das Verhalten nachstellen.
Hierzu habe ich eine EE 5.3.0 augesetzt und eine Kategorie mit 500 Artikeln gefüllt.
Nachdem ich das PHP Memory Limit auf 128MB reduziert habe, konnte ich das Verhalten reproduzieren.

Hier kommen wir an ein Limit, welches sich aus der Skalierung des Shops und der Hardware selbst zusammensetzt.

Es handelt sich hier aber nicht um einen Fehler in der Software sondern lediglich um ein Limit auf Hardwareseite.

Mit freundlichen Grüßen aus Freiburg

Für uns keine zufriedenstellende Lösung - aber muss man erstmal so hinnehmen.

1 Like