WordPress „Error establishing a database connection“ Selbstheilung
WordPress ist abhängig, und zwar von MySQL. coque iphone xs max MySQL ist uralt und zudem ein Oracle-Produkt, kein Wunder also das es hin und wieder abstürzt. In dem Fall gibt WordPress nur die etwas schmucklose Fehlermeldung „Error establishing a database connection“ aus, die man aber abfangen und die Datenbank bei dem Anlass neu starten kann. coque iphone x Es ist nur etwas mehr Arbeit als ein Plugin zu installieren, das dann ohnehin nicht funktioniert.o
In einer der drei Fundstellen im WordPress Core auf Github liegt eine hervorragende Möglichkeit verborgen, die an Stelle aufwändigen Mülls wie monit das Ereignis als Anlass nehmen MySQL neu zu starten: In der Datei wp-includes/functions.php wird in der Funktion dead_db die Fehlermeldung ausgegeben, zuvor aber überprüft ob eine Datei namens wp-content/db-error.php existiert:
// Load custom DB error template, if present. coque iphone pas cher if ( file_exists( WP_CONTENT_DIR . coque iphone '/db-error.php' ) ) { require_once( WP_CONTENT_DIR . '/db-error.php' ); die(); }
In die kann man natürlich hervorragend ein eigens zu erzeugendes Shellskript (in meinem Fall /usr/sbin/my.sh) ansprechen, das nichts anderes tut als MySQL erneut aufzurufen:
#!/bin/bash service mysql start
Damit das aus der db-error.php per exec() aufgerufene Skript auch funktioniert, muss man es noch berechtigen, muss also dem Apache-Prozess noch den Terminal- und Passwort-lose Berechtigung erteilen, d.h. coque iphone pas cher /etc/sudoers mit visudo aufrufen und folgende beiden Zeilen hinzufügen (www-data ist in dem Fall der Nutzer, mit dem der Apache ausgeführt wird und muss ggf.
WordPress „Error establishing a database connection“ Selbstheilung via Twitter kommentieren