Weiße Seite bei Lieferadressen. Wie Fehler ermitteln?

Guten Tag!

Wenn man in meinem Shop beim Bestellprozess eine Lieferadresse auswählt, dann kommt man zwar zum letzten Schritt und die Lieferadresse wird auch korrekt angezeigt. Wenn man nun die Bestellung Abschickt, so erscheint eine weiße Seite, auch ein Neuladen der Seite bringt nichts.

Beim Debuggen der Seite erscheint kein Fehler, auch in der exception_log ist nichts ausfindig zu machen.

Meine Frage ist ob ihr Lösungsvorschläge habt bzw. [B]wie ich den Fehler ermitteln kann?[/B]

PS: Ich habe den D3 Modulconnector versucht zu installieren und erhalte leider auch eine weiße Seite, obwohl die mitgelieferte test-PHP Datei grünes Licht zur Installation gab.

EDIT: Habe auch folgendes in oxshopcontrol.php eingefügt:

catch (Exception $oEx) {
		  dumpvar($oEx);
		  die();
		}

Sowie diese Zeile in config.php.inc:

ini_set("display_errors", "on");

Eine Fehlermeldung habe ich nicht erhalten.

Nach einigen Stunden bin ich drauf gekommen dass ich in der oxorder.php einige Zeilen in protected function _setUser( $oUser ) zusätzlich deffiniert habe (delivery address). War ein Typo-Fehler :smiley:

Mein Motto lautet nun: “Immer Protokollieren” ^^

Mein Problem ist zwar gelöst, aber der Thread ist noch nicht fertig.

Wenn ich in Zukunft vor einem ähnlichen Probleme stehe, welche Möglichkeiten habe ich für die Analyse von Fehlern im Shop?

Gibt es außer D3 irgendein anderes Modul mit einem besseren Log, als den von Oxid?

In meinem Fall war es ein doppelter constraint, welcher einen Fehler beim Schreiben in der Datenbank verursacht hat. Wie könnte man sowas protokollieren?

Also unser log-Modul kann da schon einiges :wink:
Außerdem kannst du mit 1-2 Zeilen Code auch eigene log-Einträge dafür generieren.

Ansonsten sind Fehler ja sehr vielfältig, so das es keine pauschale Aussage gibt, was man machen muss, um den Fehlern auf die SPur zu kommen. Das wäre auch zu einfach :slight_smile:

Ein guter Anhaltspunkt ist ein FAQ-Eintrag von uns. Dort wird beschrieben, wie man Schritt für Schritt alle Möglichkeiten abklopft, um einen Fehler angezeigt zu bekommen. Das ist dann meist die halbe Miete.
http://faq.oxidmodule.com/Allgemeine-Fragen/Technik/Ich-erhalte-im-Shop-eine-weisse-Seite-was-nun.html

Danke. Ich habe den Link den du gepostet hast auch vorher gelesen und angewendet, damit habe ich immerhin einen Hinweis bekommen.

Was mich jedoch interessieren würde ist wie man dein Modul sauber löschen kann wenn ein gewisser Vorgänger von mir das nicht gemacht hat?

Bei der Installation hatte ich nen Internal Server Error sobald ich das Modul aktiviert hatte. Da hab ich mich schon gewundert was dass soll, denn eigentlich habe ich es nicht installiert. Dann habe ich einen Blick in die DB geworfen und bemerkt dass da doch schon einige Einträge waren, sogar [B]oxv_d3[/B] wurde generiert. Danach habe ich nach den Fehlerquellen für den Error gesucht und den D3-Ordner in /modul/ gelöscht sowie dr3update.log in /log/. Danach habe ich mich jedoch nicht mehr getraut eine neue Installation zu versuchen^^

Kannst du mir weiterhelfen?

Hallo,

Modul-Connector im Admin deaktivieren, entfernen der Ordner aus /modules, aller Tabellen d3*, sowie anschließend /tmp leeren. Die Views werden angelegt, wenn Modulkonfigurationen in anderen Sprachen mit angelegt wurden. Hier muss man aufpassen, da der Shop dann Multilang Einträge in oxconfig hat. Grundsätzlich “schaden” die View-Tabellen nicht. Man kann sie also auch drin lassen. Das gilt für alle d3-Tabellen. Wenn die Module im Admin deaktiv sind, arbeiten sie auch nicht.

Zum Thema “500 internal server error”. Der ist sehr allgemein und kann memory-limit oder time out sein. Lieder liefert da PHP keine sinnvolle Meldung, da der Webserver das Script abbricht. Eine Fehlermeldung kann somit nur das apachelog liefern.

Wenn du auf Nummer sicher gehen willst: Testshop anlegen und ohne Gefahr Module testen.