Magazine Internet

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

Publié le 12 juillet 2008 par David Marchesson

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 = "[email protected]"; $to = "[email protected]"; $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.


Retour à La Une de Logo Paperblog

A propos de l’auteur


David Marchesson 144 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine