Fehlermeldungen MySQL Datenbank, PHP und Smarty
Fehler lassen sich leider nicht immer vermeiden, dass sollte bekannt sein. Nicht jedem geläufig hingegen, ist der Umgang mit solchen Fehlern. Der erste Schritt in die richtige Richtung beginnt mit einer detaillierten Beschreibung des Fehlers. Wie das aussehen kann, sieht in diesem Beispiel.
Je umfangreicher die Information zu einem gemeldeten Problem sind desto schneller lässt sich eine Lösung finden. Zu beachten ist allerdings auch, dass nicht jeder Fehler auch wirklich ein Fehler, ganz getreu dem Motto it's not a bug it ́s a feature! Das kann im besten Fall Nerven, Zeit und vor allem Geld sparen.
In vielen Fällen lässt sich nur schwer sagen wie man mit Fehlern umgehen muss, selbst dann, wenn man mit der Fehlermeldung die Stelle (Nummer der Zeile im Code) angezeigt bekommt an welcher das Problem auftritt. Eine Übersicht der am häufigsten gemeldeten Fehler:
Fehler aus den ErrorLogs
Fehlermeldung | Reported by | Beschreibung | Ursache / Maßnahme | SLA* |
---|---|---|---|---|
mysqli error: [1048: Column 'reload_st' cannot be null] in EXECUTE("INSERT INTO xt_products_description | mysql | Der Vorgabewert muss aktiviert sein und 0 lauten. | Nein | |
class 'multistore' not found | Von einem Bot wird eine Domain aufgerufen unter welcher xt:Commerce einmal installiert war aber nicht mehr erreichbar ist. Legen Sie für diese Domain einfach eine dauerhafte Weiterleitung auf die aktuelle Shop-Domain an. | |||
mysqldump: Got error: 1449: The user specified as a definer ... does not exist when using LOCK TABLES | mysql | Kann durch fehlerhafte Konfiguration / Definition von MySQL bei Erstellung eines Backups / Dumps entstehen. | Bei einem Backup muss berücksichtigt werden, dass die Datenbank VIEWS enthält. Dabei sollten die nötigen Rechte vorhanden sein ggf. ist das anpassen vorhandener Auto-Backup-Scripte notwendig | Nein |
MySQL server has gone away | mysql | Schwache Datenbank Anbindung, hier bricht die Datenbank die Verbindung ab | Ein performanteres Web-Hosting | Nein |
Could not connect to MySQL | mysql | Zugangsdaten zur Datenbank sind nicht (mehr?) korrekt. | Prüfen Sie die Datei /conf/config.php wenn der Shop bereits installiert ist und funktioniert hat. Sollten Sie diese Meldung bei der Installation erhalten, prüfen Sie die Datenbankzugangsdaten | Nein |
mysql error: [1040: Too many connections] in CONNECT | mysql | Zu viele gleichzeitige Verbindungen. | https://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html | Nein |
mysql error: [1048: Column 'orders_id' cannot be null] in EXECUTE("INSERT INTO xt_callback_log | mysql | Beim schreiben eines Eintrags in die Datenbanktabelle xt_callback_log gab es einen Fehler. | Überprüfen Sie alle elektronischen Zahlungsmittel ob diese in der aktuellsten Version installiert sind. Zusätzlich kann ein Blick in den IPN Log nicht schaden. | Ja |
mysql error: [1048: Column 'url_text' cannot be null] in EXECUTE ("INSERT INTO xt_seo_url_redirect (URL_MD5, MASTER_KEY, URL_TEXT, LANGUAGE_CODE, STORE_ID, IS_DELETED,TOTAL_COUNT) VALUES ('896a0ae7370cd36eaecce23229903218', 100, null, 'en', 2, 0, 1 )") | mysql | Beim schreiben eines Eintrags in die Datenbanktabelle xt_seo_url_redirect gab es einen Fehler. | Überprüfen Sie Backend unter SEO & Shop Optimierung / 404 URL den Eintrag auf den die ID passt. Im Beispiel wäre dies die ID (Master Key) 100. Insbesondere ist hier noch ein Verweis auf die Sprache (en). | Ja |
mysql error: [1146: Table 'foo.xt_config_' doesn't exist] in EXECUTE(..... | mysql | Die Datenbanktabelle xt_config in der Datenbank 'foo' ist nicht vorhanden / existiert nicht | Überprüfen Sie ob dies tatschälich der Fall ist oder ggf. eine andere Bezeichnung des Datenbankname als wie in der conf.php im Verzeichnis conf steht. Da ohne diese Datenbanktabelle der Shop nicht funktioniert kann dies auch ein sporadisches Problem gewesen sein. | Ja |
Unknown error type: [2] mysql_connect(): Access denied for user '...'(using password: YES). Error ocurred in ..... | mysql | Die Verbindung zur Datenbank konnte nicht hergestellt werden. | Das Überprüfen der Zugangsdaten zur Datenbank kann das Problem eingrenzen. Wenn die Daten stimmen kann u. U. die Erreichbarkeit des Servers eingeschränkt sein. Dies kann beim Webhoster direkt ermittelt werden. | Ja |
SLA*
Das Beheben von Fehler, die auf Grund fehlender technischer Anforderungen oder falscher Konfiguration des Servers bspw. "500 Internal server error" oder ähnliches entstehen, ist keine Leistung, die durch den Support bzw. das Service Level Agreement (SLA) abgedeckt ist.