Tra le varie cose che ogni tanto succedono a questo blog e di cui, talvolta con enorme ritardo, mi accorgo, stavolta è capitata la seguente: le tabelle wp_comments e wp_commentmeta nel database mysql collegato al blog si erano corrotte.

Il problema si manifestava nei modi seguenti:

  • nessun commento visibile in alcun articolo, o nella pagina commenti della bacheca;
  • nonostante questo, il counter dei commenti alla fine di ogni articolo mostrava il numero giusto;
  • impossibilità di inserire un nuovo commento, con la visualizzazione del seguente errore: “Catchable fatal error: Object of class WP_Error could not be converted to string“;
  • nella pagina di gestione del database mysql, le tabelle wp_comments e wp_commentmeta appaiono etichettate come “in use“, ma non è possibile visualizzarne i contenuti o modificarne la struttura, con la visualizzazione del messaggio “Table marked as crashed“.

La soluzione consiste nell’effettuare un repair manuale delle tabelle corrotte. Prima di procedere consiglio di effettuare un backup delle tabelle stesse nel caso in cui qualcosa andasse storto (ed effettivamente il backup si riesce a fare, il file sql che ho scaricato sul mio computer era di circa 10 MB). Successivamente si può procedere al repair manuale eseguendo il comando “table repair nometabella;“; nel mio caso ho potuto farlo dal pannello di gestione del database, ma credo che, se si ha accesso a phpMyAdmin per il sito, esista una funzione per eseguire questa operazione senza dover ricorrere alla riga di comando.