[gelöst] ... Fatal error...DbTable.php on line 522

Ich wollte gerade eben in unserem Shop was nachsehen und stelle mit Entsetzen fest, dass das Frontend nicht mehr erreichbar ist. :shock: Stattdessen folgende Fehlermeldung: [color=blue]Fatal error: Uncaught exception ‚Enlight_Exception‘ with message 'sGetPaymentMeans #00: Could not get any payment-means SELECT p.* FROM s_core_paymentmeans p LEFT JOIN s_core_paymentmeans_subshops ps ON ps.subshopID=1 AND ps.paymentID=p.id LEFT JOIN s_core_paymentmeans_countries pc ON pc.countryID=68 AND pc.paymentID=p.id WHERE (ps.paymentID IS NOT NULL OR (SELECT paymentID FROM s_core_paymentmeans_subshops WHERE paymentID=p.id LIMIT 1) IS NULL) AND (pc.paymentID IS NOT NULL OR (SELECT paymentID FROM s_core_paymentmeans_countries WHERE paymentID=p.id LIMIT 1) IS NULL) ORDER BY position, name ’ in /monxpguq/www.monalito.com/de/engine/core/class/sSystem.php:182 Stack trace: #0 /mXXXXXXq/www.monalito.com/de/engine/core/class/sAdmin.php(455): sSystem->E_CORE_WARNING(‚sGetPaymentMean…‘, ‚Could not get a…‘) #1 /moXXXXXXq/www.monalito.com/de/engine/Shopware/Plugins/Default/Frontend/PigmbhKlarnaPayment/Bootstrap.php(602): sAdmin->sGetPaymentMeans() #2 /mXXXXXXq/www.monalito.com/de/engine/ in /mXXXXXXq/www.monalito.com/de/engine/core/class/sSystem.php on line 182 Fatal error: Undefined class constant ‚PRIMARY_TYPE_NUM‘ in /mXXXXXXq/www.monalito.com/de/engine/Library/Zend/Session/SaveHandler/DbTable.php on line 522[/color] Ich habe ähnliche Anfragen mit ähnlicher Fehlermeldung hier im Forum in den letzten Monaten schon öfter gesehen. Meist kam immer nur eine einzige Reaktion, die jedoch keine zielführende Antwort enthielt. Stattdessen wurde gefragt, ob man eben was geändert habe. Meist mit Hinweis auf Zahlungs-Plugins. Daher hier gleich meine Antwort für diesen Fall: - ja, ich sehe, dass hier in der Fehlermeldung Hinweise auf Zahlung und insbesondere auf das Klarna-Plugin genannt sind - nein, ich habe nichts an den Plugins geändert. War in den letzten Stunden damit beschäftigt die internationalen Versandkosten zu konfigurieren. BRAUCHE DRINGEND KONSTRUKTIVE HILFE, DA ES IRGENDWIE KEIN ZUSTAND IST, WENN DER KOMPLETTE SHOP FÜR KUNDEN NICHT ERREICHBAR IST. :thumbdown: :thumbdown: :thumbdown: Gerne auch per PM an michael.proch@monalito.de Vielen Dank schon mal vorab. Michael

Hm, ich hab mir mal den Code angeschaut, der dein Problem umgibt. Da gibt es zwei Probleme, das erste ist, dass diese SQL Abfrage bei dir scheinbar ein leeres Ergebnis liefert: SELECT p.\* FROM s\_core\_paymentmeans p LEFT JOIN s\_core\_paymentmeans\_subshops ps ON ps.subshopID=1 AND ps.paymentID=p.id LEFT JOIN s\_core\_paymentmeans\_countries pc ON pc.countryID=68 AND pc.paymentID=p.id WHERE (ps.paymentID IS NOT NULL OR (SELECT paymentID FROM s\_core\_paymentmeans\_subshops WHERE paymentID=p.id LIMIT 1) IS NULL) AND (pc.paymentID IS NOT NULL OR (SELECT paymentID FROM s\_core\_paymentmeans\_countries WHERE paymentID=p.id LIMIT 1) IS NULL) ORDER BY position, name Eigentlich sollten da die Paymentmethoden bei rauskommen: Hast du Zugriff auf phpMyAdmin oder ein ähnliches Datenbankverwaltungstool um mal zu schauen ob das Problem nur im Klarnakontext existiert, also kannst du einmal irgendwie das SQL-Snippet ausführen und das Ergebnis posten? Ich kenne das Plugin nicht wirklich, aber das macht gerne Probleme und ist auch etwas altertümlich programmiert (=> schonmal Herstellersupport angefragt?). Das zweite Problem: Undefined class constant 'PRIMARY\_TYPE\_NUM' Ist ebenfalls merkwürdig, weil es die Konstante in der angegebenen Klasse natürlich gibt, nämlich in der Klasse engine/Library/Zend/Session/SaveHandler/DbTable.php in Zeile 68. Ich glaube eher, dass das Klarna Plugin da was zerschießt, vielleicht weil es mit Internationalisierung nicht klarkommt. Eine Ferndiagnose ohne Zugriff auf das betroffene System ist nicht so einfach, daher: 1. Deaktiviere mal das Klarna Plugin und prüfe ob es dann geht. 2. Führe mal das SQL Snippet oben aus (das greift übrigens auch auf länderspezifische Dinge zu, vielleicht hat es wirklich was mit deiner Internationalisierung zu tun, ist aber sehr aus dem Bauch raus geraten).

1 „Gefällt mir“

Hallo Christian, vielen Dank für die schnelle Hilfe. Es war tatsächlich das Klarna-Plugin. Das Plugin ließ sich nicht deaktivieren. Daraufhin habe ich in Einstellungen/Grundeinstellungen/Zahlungsarten/Klarna einfach die Zahlungsart deaktiviert und schon funktioniert es wieder. Habe testweise die Zahlungsart wieder aktiviert und schon kommt wieder FATAL ERROR. Komisch ist nur, dass ich am Klarna Modul seit Monaten nichts mehr geändert habe. Werde den Fehler jetzt wohl mit dem Klarna-Support klären müssen. Aber wenigstens geht der Shop wieder. Da Du, wie ich sehe, auch in Berlin sitzt, werde ich Dich wohl mal zum Essen einladen. Liebe Grüße aus dem Berliner Umland Michael

[quote=“monalito”] Da Du, wie ich sehe, auch in Berlin sitzt, werde ich Dich wohl mal zum Essen einladen. [/quote] Alternativ könntest du auch mein Startup, das Technologiepartner von Shopware ist, unterstützen und unser Spendenmodul einbauen. :slight_smile:

[quote=“shredding”][quote=“monalito”] Da Du, wie ich sehe, auch in Berlin sitzt, werde ich Dich wohl mal zum Essen einladen. [/quote] Alternativ könntest du auch mein Startup, das Technologiepartner von Shopware ist, unterstützen und unser Spendenmodul einbauen. :)[/quote] Das steht sowieso schon länger auf der To-Do-Liste, da wir von unserer Konzeption des Shops sowieso einen Teil der Einnahmen an soziale Projekte (z.Zt. ein Projekt der Kindernothilfe gegen Kindersklaverei in indonesischen Steinbrüchen) geht und wir in dem Modul eine gute Gelegenheit sehen, hier die Kunden mit einzubeziehen. Aber vorher müssen wir im Shop noch ein paar andere Dinge “abarbeiten”.

schrieb soeben, dass der Shop nach Deaktivierung des Klarna-Moduls jetzt wieder erreichbar ist. Zu früh gefreut: Shop ist zwar erreichbar, aber man kann keine Artikel mehr in den Warenkorb legen! Ist echt zum Mäusemelken!

Hallo, die Meldung besagt aktuell noch klar, dass für das Land keine Abzahlungsgeschäft gefunden werden kann. Hier musst du also vermutlich mit dem Versandkostenmodul solche Einstellungen getätigt haben, dass das System nicht einmal mehr auf Vorkasse (Stndardzahlungsart) zurückfallen kann. Prüfe mal deine Versandkosten und die Einschränkungen. Zudem am besten bei der Zahlungsart Vorkasse jegliche Markierungen/Einstellungen entfernen. Im Moment kommt bei dir ja die Meldung sGetPaymentMeans #00: Could not get any payment-means SELECT p.\* FROM s\_core\_paymentmeans p LEFT JOIN s\_core\_paymentmeans\_subshops ps ON ps.subshopID=1 AND ps.paymentID=p.id LEFT JOIN s\_core\_paymentmeans\_countries pc ON pc.countryID=60 AND pc.paymentID=p.id Somit will das System standardmäßig das Land mit der ID 60 nutzen, welches keine Versand-/Zahlungsart aktiv hat. PS: Vielleicht gibt es vom Plugin auch noch Einschränkungen in dem Shopware Riskmanagement…