Générer une action lors d’un problème MySQL sous WordPress

Le 13 juillet 2008

Si comme moi vous avez parfois des soucis avec la base de donnée sous WordPress, voici une astuce (initialement trouvée sur moon-blog.com) pour afficher un message simple à vos visiteurs et vous avertir par la même occasion à l’aide d’un mail.

Avant de chercher une extension, j’avais remarqué que dans le code du fichier wp-includes/wp-db.php il y a bien un message d’erreur ligne 71 après le « if (! $ This-> dbh) » mais celui-ci ne s’affiche pas. Pour palier à cela, voici les 3 étapes pour remédier au problème :

1. Copier le code ci-dessous en enregistrer-le dans un fichier nommé db-error.php.

Erreur lors de l'établissement de la connexion à la base de données

Le serveur de base de données est inaccessible, un mail vient tout juste de partir, je vais relancer le serveur d'ici peu de temps. Désolé pour cette attente, si ce problème persiste je changerai d'hébergeur.

<?php // les 2 adresses email à changer : $from = "eclaireur@eclaireur.net"; $to = "votre@email.com"; $subject = "MySQL DOWN !"; $body = "Le serveur MySQL vient encore de planter le " . date("d-m-Y à H:i:s"); $headers = 'From: '.$from . "\r\n" .'Reply-To: '.$from . "\r\n" .'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $body, $headers); // Ecriture dans le fichier log qui doit être en chmod 666 $filename = 'log.txt'; $somecontent = date("Y-m-d H:i:s"); $somecontent = $somecontent . "\r\n"; if (is_writable($filename)) { if (!$handle = fopen($filename, 'a')) { exit; } if (!fwrite($handle, $somecontent)) { exit; } fclose($handle); } ?>

2. Ensuite changer le message ainsi que le mail du destinataire

3. Créer un fichier log.txt et uploader-le à la racine du blog (avec les propriétés chmod à 666). La destination de db-error.php est différente, il s’agit du répertoire content (wp-content/db-error.php).

Le tour est joué, maintenant plus aucun problème de base ne vous échappera. Pour ceux qui veulent tester, il suffit d’aller télécharger le fichier wp-config de votre blog, de changer une variable (faites une copie avant, on ne sait jamais…) et le remettre dans le serveur web.


Envie de discuter de cet article ? Envoyer un message sur Twitter ou envoyez-moi un e-mail. Si cet article vous a plu, n'hésitez pas à le partager sur Twitter ou Facebook.

1 commentaire sur "Générer une action lors d'un problème MySQL sous Wordpress"

  • Strawberry’s blog » Blog Archive » links for 2008-07-15
    15 juillet 2008 (18:37)

    […] Générer une action lors d’un problème MySQL sous WordPress Si comme moi vous avez parfois des soucis avec la base de donnée sous WordPress, voici une astuce (initialement trouvée sur moon-blog.com) pour afficher un message simple à vos visiteurs et vous avertir par la même occasion à l’aide d’un mail. Avant (tags: eclaireur mysql wordpress wp moon) Uncategorized […]