Neu JTL Debug 2.0.4 und Shop 5.5.2 - Fehler 500

chefsalat

Sehr aktives Mitglied
10. Januar 2013
279
119
Sobald ich "Anzeige von Smartyvariablen aktivieren?" aktiviere, bekomme ich einen 500er Fehler und folgende Meldung

Got error 'PHP message: PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 4096 bytes) in /home/users/webshop/www/betashop/plugins/jtl_debug/Debugger.php on line 234; PHP message: PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 12288 bytes) in Unknown on line 0',

Neuste Version von https://gitlab.com/jtl-software/jtl-shop/plugins/jtl_debug geladen
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
555
120
Abhängig von der Art des Hosts würde ich erstmal versuchen das PHP memory_limit von 512 MB auf 1024 zu erhöhen.
Vielleicht reicht das ja schon.
 

chefsalat

Sehr aktives Mitglied
10. Januar 2013
279
119
Mhh, im 5.3.4er genügt 256MB, habe es extra schon auf 512 MB gesetzt. Kommt mir auch reichlich übertrieben vor
 

Traumpixel

Gut bekanntes Mitglied
11. April 2021
71
28
Hallo zusammen,

das Problem liegt an der Variablen $parentSmarty, die in der Debug-Ansicht durch eine zyklische Referenz zu einer endlosen Rekursion führt und dadurch einen Memory-Overflow Fehler verursacht. Auch ein Erhöhen des memory_limits würde hier nicht helfen.

Ich habe gesehen, dass bereits gestern ein Hotfix in Git (https://gitlab.com/jtl-software/jtl-shop/plugins/jtl_debug/-/blob/master/Debugger.php) hinzugefügt wurde, der beim Auftreten der Variablen $parentSmarty mit einem break die weitere Verarbeitung beendet.
Allerdings finde ich diese Lösung nicht elegant, da dadurch fast 35 wichtige nachfolgende Variablen verloren gehen, die ansonsten sauber verarbeitet würden.

Daher wäre meiner Meinung nach ein Überspringen der Variablen $parentSmarty eleganter. Dabei würde ausschließlich nur diese eine Variable übersprungen bzw. das Kind-Element durch einen Platzhalter ersetzt, ohne den gesamten Rest der Struktur zu verlieren. So bleiben alle anderen Variablen erhalten und der Debugger bleibt stabil.

Die Lösung mit gezieltem Überspringen wäre, die Funktion transform (ca Zeile 185) in der Debugger.php wie folgt zu ersetzen:
PHP:
    private function transform($node, $key, $parent = null, bool $showPath = false): array
    {
        $key  = (string)$key;
 
       // HOTFIX: parentSmarty überspringen, um Memory-Overflow zu verhindern
        if ($key === 'parentSmarty') {
            return [
                'type'  => 'string',
                'key'   => $key,
                'class' => 'string',
                'value' => '[SKIPPED - parentSmarty - MEMORY OVERFLOW PREVENTION]',
                'path'  => ''
            ];
        }
 
        $type = \gettype($node);
        $res  = [
            'type'  => $type,
            'key'   => $key,
            'class' => $type === 'object' ? \get_class($node) : $type
        ];
        if ($res['type'] === 'array' && $this->isAssoc($node)) {
            $res['type'] = 'assoc_array';
        }
        // we don't care what numeric type it is, we just want to know if it is a number
        if (\is_numeric($node)) {
            $res['type'] = 'number';
        }
        $res = $this->buildPath($showPath, $res, $parent, $key);
        if ($res['type'] === 'object' || $res['type'] === 'array' || $res['type'] === 'assoc_array') {
            // build children array recursively
            $res['children'] = [];
            $res['length']   = 0;
            foreach ($node as $k => $value) {
                $k = (string)$k;
                $res['children'][$k] = $this->transform($value, $k, $res, $showPath);
                ++$res['length'];
            }
        } else {
            // simple data type
            $res['value'] = $node;
        }

        return $res;
    }

Damit wird nur parentSmarty übersprungen bzw. ersetzt, der Debugger bleibt vollständig funktionsfähig und alle folgendenen Variablen werden weiterhin angezeigt.

Liebe Grüße
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
Neu Versandetikett bei Aufträgen aus dem JTL Shop Arbeitsabläufe in JTL-Wawi 0
Neu JTL Search blockiert unsere Shops JTL-Shop - Fehler und Bugs 1
Wichtig JTL-ShippingLabels 1.0: Support-Ende GLS/DPD und Migration von JTL-Start-Kunden nach dem 30. September News, Events und Umfragen 12
Neu JTL-Wawi REST API (Beta): HTTP 402 "Zahlung erforderlich" auf allen Endpunkten trotz gebuchter Beta-Lizenz Schnittstellen Import / Export 2
Neu JTL Shop 5.7.2 NOVA - Akkordeon Überschriften herabstufen auf H3 Templates für JTL-Shop 3
Kasse in JTL-Wawi 2.0 einbinden JTL-Wawi 2.0 1
Neu JTL-WAWI 2.0.5 Worker läuft nicht mehr und Versandarten werden falsch ausgegeben. JTL-Wawi - Fehler und Bugs 1
JTL-WAWI 2.0.5 Worker läuft nicht mehr und Versandarten werden falsch ausgegeben. JTL-Wawi 2.0 4
Neu Login-Fehler 403 bei app.shipping.jtl-cloud.com seit 17.07.2026 JTL-ShippingLabels - Fehler und Bugs 7
Neu 🚨 Sicherheitswarnung für JTL-Shop-Betreiber: Manipulation des Checkout-Prozesses durch externes JavaScript (Magecart- / Payment-Skimmer) Betrieb / Pflege von JTL-Shop 2
Neu JTL-Shop Konfigurator - die Ausgewählten Konfigurator gruppen werden im Artikel nicht vollständig angezeigt User helfen Usern - Fragen zu JTL-Wawi 2
Neu JTL-Shop 5 Backup Professional Plugin Plugins für JTL-Shop 0
JTL reaktiviert keine Angebote mehr auf Otto Otto.de - Anbindung (SCX) 1
Verbesserungsvorschlag: JTL-POS – Artikel mit Preisabfrage und vollständiger Wawi-Statistik JTL-Wawi 2.0 4
Neu JTL-ShippingLabels-Server ist nicht erreichbar JTL-Wawi - Fehler und Bugs 0
Neu JTL Shipping Labels 4.0 Sendungsnummer Kleinpaket nicht an Amazon übermitteln JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Plugin trotz Hinweis Kompatibel mit JTL-Shop bis 5.6.* auch unter 5.7.2 nutzen Plugins für JTL-Shop 2
Neu Aktuelle JTL Shop Sicherheitslücke - automatischer Patch im JTL Hosting ? Allgemeine Fragen zu JTL-Shop 15
Neu JTL-Wawi 1.11.7: Shopify-PDF aus Bestellmetafeld automatisch als Auftragsanhang übernehmen Shopify-Connector 1
Neu Suche 10–15 JTL-Shops für kostenlose JTL-Shop-Analyse (verschiedene Branchen) Dienstleistung, Jobs und Ähnliches 0
JTL 2.0.4: Zahlungsabgleich - Buchungen Fehlen JTL-Wawi 2.0 0
Neu JTL-Shop 5.7.2 Picture-Tag in mobilen Ansicht lädt beide Bilder JTL-Shop - Fehler und Bugs 0
Seit dem Update meines JTL-Shops auf Version 5.7.1 funktioniert die Verbindung zwischen JTL-Wawi 2.0.4.0 und dem Shop nicht mehr. JTL-Wawi 2.0 6
Neu JTL-WMS und JTL-POS... Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Fehlermeldung beim Einlesen der Buchungen in JTL Fibu JTL-Wawi 2.0 2
Neu Shop 5.7.2 - JTL PayPal Checkout legt alles lahm JTL-Shop - Fehler und Bugs 4
JTL-Ameise 2.04 - Export Rechnungen csv - unvollständig JTL-Wawi 2.0 13
Neu Belege aus JTL Wawi zu Lexoffice Schnittstellen Import / Export 5
Neu Varianten die nicht online in JTL geschaltet sind werden trotzdem zu Shopify geladen Shopify-Connector 6
Neu Gesucht: JTL-Systempartner/Freelancer mit Erfahrung in Personalisierungs-/Gravur-Fulfillment Dienstleistung, Jobs und Ähnliches 2
Neu JTL Stammtisch Stuttgart Messen, Stammtische und interessante Events 1
Neu Copy/Paste Abstürze seit JTL-Wawi 2.0.5 User helfen Usern - Fragen zu JTL-Wawi 4
Gelöst: Störung bei LInk11 - JTL- Shops teilweise nicht erreichbar Störungsmeldungen 1
JTL Update auf 1.9 , danach Import Kundenspezifrische Preise velerhaft JTL-Wawi 1.9 0
Wie übernehme ich Artikelnamen von JTL in den neuen Kaufland Niederlande-Verkaufskanal? JTL-Wawi 1.11 1
Neu Wie stelle ich Retouren in JTL für DPD ein? JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu JTL Wawi 1.11.11 - Zahlungsabgleich bei FYRST Bank verlangt immer Passwort User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Neu Der wahrscheinlich östlichste JTL Servicepartner: Standortvorteil, faire Preise und vieles mehr Dienstleistung, Jobs und Ähnliches 16
Neu Welche JTL Shop Plugins oder kleinen Hilfstools würden euch im Alltag wirklich helfen? Plugins für JTL-Shop 0
Neu JTL ShippingLabels - Meldungen JTL-ShippingLabels - Fehler und Bugs 9
Neu Beta-Tester gesucht: Produktdaten aus Artikelfotos schneller für JTL/CSV vorbereiten Dienstleistung, Jobs und Ähnliches 0
Neu oAuth Credentials Login mit JTL .. WO? User helfen Usern 1
Neu Installationsdatei für JTL‑Wawi 1.9.6.5 Installation von JTL-Wawi 2
Neu kostenlos: DHL Sendungsverfolgung für JTL-Wawi – Web-Dashboard mit Frühwarnsystem Schnittstellen Import / Export 0
Neu JTL Wawi 2.0 oder höher WooCommerce-Connector 0
Changelog jtl Wawi 2.0.5 JTL-Wawi 2.0 13
Neu Ist es ohne Probleme möglich Cloudflare in der Free Version mit JTL zu nutzen? Allgemeine Fragen zu JTL-Shop 7
JTL 5.7.1 Widerrufsformular massiver SPAM Einrichtung JTL-Shop5 3
JTL Wawi 1.11.xx langsam unbenutzbar! JTL-Wawi 1.11 4

Ähnliche Themen