Erste Hilfe bei plötzlich defekter Kommentarfunktion in WordPress.

Gerade habe ich eine Mail von einem Blog-Leser bekommen, der sich darüber beklagte, dass die Kommentarfunktion in diesem Weblog defekt sei. Gleich mal gecheckt und tatsächlich – so bald man versuchte, bei einem Artikel in diesem Weblog einen Kommentar zu senden, kam folgende PHP-Fehlermeldung:

Warning: get_object_vars() expects parameter 1 to be object,
null given in /webseiten/wpmu_netplanet/wp-includes/comment.php
on line 171

Ich hätte eigentlich auch schon etwas früher darauf kommen können, dass irgendetwas schief läuft, denn ich lasse mir neue Kommentare per Mail schicken und in den letzten Tagen sahen diese Mails folgendermaßen aus:

Ein neuer Kommentar zum Beitrag "TiddlyWiki 5 im Betatest."
wartet auf deine Freigabe.
http://blog.netplanet.org/2014/01/03/tiddlywiki-5-im-betatest/

Autor:  (IP:  , )
E-Mail : 
URL: 
Whois: http://whois.arin.net/rest/ip/
Kommentar:

Eine Kommentar-Mail ohne Inhalt, was bedeutet, dass WordPress zwar scheiterte beim Speichern eines Kommentares, aber immerhin die Kommentarlogik zumindest einmal gestartet wurde. Da war also tatsächlich etwas kaputt.

Bei so etwas gilt normalerweise immer das Standardprogramm an Debugging:

  1. WordPress aktuell? (Ist aktuell.)
  2. Plug-Ins installiert, die ggf. inkompatibel sein könnten?
  3. Ggf. Theme mit Problem?
  4. Datenbank bzw. Tabellen inkonsistent oder defekt?

Alle drei Problemfelder konnte ich zumindest ausschließen. Mein WordPress ist aktuell, an kommentarfunktionsspezifischen Plug-Ins habe ich in den letzten Woche nichts geändert und das Blog-Theme ist uralt und die Kommentarfunktion funktionierte vor ein paar Tagen ja auch problemlos. Zudem: Dieses Blog hier ist so aufgebaut, dass es nicht auf einer einzelnen WordPress-Installation läuft, sondern in einer Multiuser-Installation. Die anderen Weblogs auf dieser Installation laufen problemlos und insbesondere die Kommentarfunktion läuft in den anderen Blogs einwandfrei.

Das Problem ist dann letztendlich nur noch an einer Stelle zu suchen gewesen und da war dann auch das Problem: In der MySQL-Datenbank, genau genommen in den Tabellen für diese Blog-Instanz und dort in den zwei Tabellen wp_comments und wp_commentmeta. Diese beiden Tabellen, die es in einer Multiuser-Umgebung für jede Instanz gibt und die Kommentare des jeweiligen Blogs enthalten, waren inkonsistent. Das bedeutete dann, dass WordPress beim Versuch, einen abgesendeten Kommentar in die Datenbank zu schreiben, scheiterte und obige Fehlermeldung produziert. Die ist leider weitgehend nichtssagend, weil sie den Laien in die falsche Richtung führt, aber so bald die entsprechenden Tabellen z.B. in phpMyAdmin repariert werden, funktioniert alles wieder. Kleiner Fehler, große Wirkung.

Also: Kommentarfunktion in diesem Blog geht wieder. Wer in den vergangenen Tagen etwas schreiben wollte und an der defekten Kommentarfunktion scheiterte, darf das nun nachholen. 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *