WooCommerce -> Variationen -> Out of memory

  • Hallo zusammen,

    wir haben in unserem Shop ein Produkt mit sehr vielen Variationen (64). Seit dem Anlegen kann man dieses Produkt kaum noch bearbeiten, da immer die Fehlermeldung "[COLOR=#555555][FONT=Open Sans]Fatal error[/FONT][/COLOR][COLOR=#555555][FONT=Open Sans]: Out of memory (allocated 31195136) (tried to allocate 40 bytes) in [/FONT][/COLOR][COLOR=#555555][FONT=Open Sans]/homepages/19/d41922985/htdocs/xxx.de/wp-includes/wp-db.php[/FONT][/COLOR][COLOR=#555555][FONT=Open Sans] on line [/FONT][/COLOR][COLOR=#555555][FONT=Open Sans]1941" [/FONT][/COLOR][COLOR=#555555][FONT=Open Sans]erscheint. Liegt das am Speicherplatz des Hosters oder sind das einfach zu viele Variationen für WooCommerce?

    Danke und liebe Grüße
    Martin
    [/FONT][/COLOR]

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Das kann mit einer php-Konfiguration zusammenhängen. Variationen verlangen einen enormen Aufwand an Variablen. php hat hierfür ein Limit, dass sich konfigurieren lässt. Hier auf Englisch ein wenig Dokumentation:

    Newer versions of PHP implement a php.ini directive called max_input_vars usually set to 1000. This means that posting > 1000 form fields for instance would be truncated preventing data from being saved.
    This can be changed in php.ini:
    max_input_vars = 2000 If you need to do this via htaccess (on a shared host for instance) you may use:
    php_value max_input_vars 2000

    (Ein wenig Schleichwerbung: Mein Plugin WooCommerce Rich Guys Swiss Knife ermöglicht über Produktextras und/oder virtuelle Erweiterung von Auswahlkriterien für Variationen eine Reduzierung der notwendigen Anzahl von Variationen. Variationen sind ein "Verwaltungs-Kreuz". 64 oder auch 100 sollten allerdings kein server-seitiges Problem darstellen, mit entsprechender Konfiguration. Ab mehr als 100 macht WooCommerce langsam schlapp.)

    Einmal editiert, zuletzt von ulih (24. November 2014 um 23:09)

  • Hallo zusammen,

    wir haben in unserem Shop ein Produkt mit sehr vielen Variationen (64). Seit dem Anlegen kann man dieses Produkt kaum noch bearbeiten, da immer die Fehlermeldung "[COLOR=#555555][FONT=Open Sans]Fatal error[/FONT][/COLOR][COLOR=#555555][FONT=Open Sans]: Out of memory (allocated 31195136) (tried to allocate 40 bytes) in [/FONT][/COLOR][COLOR=#555555][FONT=Open Sans]/homepages/19/d41922985/htdocs/xxx.de/wp-includes/wp-db.php[/FONT][/COLOR][COLOR=#555555][FONT=Open Sans] on line [/FONT][/COLOR][COLOR=#555555][FONT=Open Sans]1941" [/FONT][/COLOR][COLOR=#555555][FONT=Open Sans]erscheint. Liegt das am Speicherplatz des Hosters oder sind das einfach zu viele Variationen für WooCommerce?

    Danke und liebe Grüße
    Martin
    [/FONT][/COLOR]

    http://faq.wpde.org/exhausted-php-memory/

    hier wird dir geholfen

  • Das kann mit einer php-Konfiguration zusammenhängen. Variationen verlangen einen enormen Aufwand an Variablen. php hat hierfür ein Limit, dass sich konfigurieren lässt. Hier auf Englisch ein wenig Dokumentation:

    Newer versions of PHP implement a php.ini directive called max_input_vars usually set to 1000. This means that posting > 1000 form fields for instance would be truncated preventing data from being saved.
    This can be changed in php.ini:
    max_input_vars = 2000 If you need to do this via htaccess (on a shared host for instance) you may use:
    php_value max_input_vars 2000

    (Ein wenig Schleichwerbung: Mein Plugin WooCommerce Rich Guys Swiss Knife ermöglicht über Produktextras und/oder virtuelle Erweiterung von Auswahlkriterien für Variationen eine Reduzierung der notwendigen Anzahl von Variationen. Variationen sind ein "Verwaltungs-Kreuz". 64 oder auch 100 sollten allerdings kein server-seitiges Problem darstellen, mit entsprechender Konfiguration. Ab mehr als 100 macht WooCommerce langsam schlapp.)

    Hallo ulih,

    wenn ich in der .htaccess die Zeile php_value max_input_vars 2000 ergänze, ist die Website nicht mehr zu erreichen :)

    Das kann mit einer php-Konfiguration zusammenhängen. Variationen verlangen einen enormen Aufwand an Variablen. php hat hierfür ein Limit, dass sich konfigurieren lässt. Hier auf Englisch ein wenig Dokumentation:

    Newer versions of PHP implement a php.ini directive called max_input_vars usually set to 1000. This means that posting > 1000 form fields for instance would be truncated preventing data from being saved.
    This can be changed in php.ini:
    max_input_vars = 2000 If you need to do this via htaccess (on a shared host for instance) you may use:
    php_value max_input_vars 2000

    (Ein wenig Schleichwerbung: Mein Plugin WooCommerce Rich Guys Swiss Knife ermöglicht über Produktextras und/oder virtuelle Erweiterung von Auswahlkriterien für Variationen eine Reduzierung der notwendigen Anzahl von Variationen. Variationen sind ein "Verwaltungs-Kreuz". 64 oder auch 100 sollten allerdings kein server-seitiges Problem darstellen, mit entsprechender Konfiguration. Ab mehr als 100 macht WooCommerce langsam schlapp.)

    Hallo Monika,

    ich bin eigentlich davon ausgegangen, dass es nicht am memory_limit liegt. Laut dem Memory Overview meines Wordpress nutze ich nur ~ 26 MB von verfügbaren 120 MB.

    Danke und liebe Grüße
    Martin

  • Hallo Martinfre.

    Das ist ein kopierter Text... eventuell erlaubt deine php-Umgebung auch das Einspeisen einer Konfiguration, die die einige Grundeinstellungen der globalen php.ini überschreibt. Die Einstellung max_input_vars ist auf jeden Fall einen Augenmerk wert, wenn mit Variationen gearbeitet wird, da schnell 1000 Parameter zusammenkommen und die Instanz dann Probleme aufwirft, wie das Beschriebene. Hilfe sollte der Provider bieten können, mit dieser Information und vielleicht anderen, die andere Benutzer beisteuern.
    Grüsse.
    uh

  • ich bin eigentlich davon ausgegangen, dass es nicht am memory_limit liegt. Laut dem Memory Overview meines Wordpress nutze ich nur ~ 26 MB von verfügbaren 120 MB

    Die Meldung hat nichts mit der "Exhausted" Problematik zu tun, sondern zeigt an, das PHP keinen Speicher mehr vom Bertriebssystem bekommt (nicht zu Verwechseln mit PHP Memory Limit). Da kann nur der Provider helfen, in dem er dem Account mehr RAM zuordnet.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • ...
    ich bin eigentlich davon ausgegangen, dass es nicht am memory_limit liegt. Laut dem Memory Overview meines Wordpress nutze ich nur ~ 26 MB von verfügbaren 120 MB.
    ...

    Vermutlich handelt es sich um ein älteres (5.0, Smart Web L) oder kleines (Starter) 1&1-Paket. In diesen Paketen gibt es eine betriebssystemseitige Speicher-Grenze von ca. 30MB.

    Hier hilft nur ein Paket-Upgrade oder ein Hoster-Wechsel.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Um's zu verdeutlichen, im Zusammenspiel mit Wordpress und WooCommerce entsteht ein loop, der zu einem Memory overflow führen kann. Der verlangt dann immer mehr memory bis die Geschichte platzt... und dann kommt's genau zur angezeigten Fehlermeldung... Darüberhinaus kann's gut sein, dass der Provider Limits setzt, würde mich aber wundern, dass der Provider für php Memory erlaubt, dass er der virtuellen Maschine nicht zugesteht... wie beschrieben... aber ist auch möglich.

    Einmal editiert, zuletzt von ulih (26. November 2014 um 00:12)

  • ... dass der Provider Limits setzt, würde mich aber wundern, dass der Provider für php Memory erlaubt, dass er der virtuellen Maschine nicht zugesteht... wie beschrieben... aber ist auch möglich.

    Es ist nicht nur möglich, das ist bei 1&1 in den Shared-Webhostingpaketen tatsächlich so. Das eingestellte PHP-Memory-Limt liegt je nach Paket deutlich über dem pro Prozess zugestandenen Speicher. Deshalb kommt auch ein "Out of memory..."- und kein "Allowed memory size ... bytes exhausted..."-Fehler.

    Die Zahl in der Fehlermeldung (31195136) entspricht ziemlich genau der 30MB-Grenze, die bei 1&1 lange Zeit für alle Pakete galt.

    Auf Dauer wird man mit diesen 30MB Speicher nicht glücklich werden, egal ob da jetzt eine Schleife den Speicher überlaufen läßt oder man mal ein größeres Bild hochladen möcht.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!