30 octobre 2024

Error establishing a database connection – la solution

Qu’il est désagréable de voir apparaître ce message alors que l’on se rend sur son blog… et on pense tout de suite à tous les pauvres lecteurs qui n’ont pas pu lire le dernier article (qui était super bien en plus !).

Et bien j’ai LA solution… enfin, une solution (pour wordpress uniquement et en attendant d’être super riche et de me payer un hébergement digne de ce nom).

L’idée est qu’en cas d’erreur de connexion à la bdd (souvent causé par trop de connexions simultanées), on puisse tout de même voir le site et pas une vilaine page blanche avec un message d’erreur qui fait peur : « Error establishing a database connection »

Il suffit de créer un fichier db-error.php à mettre dans le répertoire wp-content contenant le code suivant :

<?php

$host=$_SERVER[‘HTTP_HOST’];
$uri=urlencode($_SERVER[‘REQUEST_URI’]);
header(« Location: http://google.com/search?q=cache:$host$uri »);
exit();

?>

c’est tout ! Ainsi en cas d’erreur de bdd, vous aurez la page en cache de Google :

pas très esthétique mais c’est mieux que pas de page du tout !

EDIT : j’ai finalement adopté un plugin « WP super cache » qui permet de mettre le site en cache et donc de limiter au maximum les accès à la bdd. Voici le lien vers le plugin : http://wordpress.org/extend/plugins/wp-super-cache/

 

Vincent Malischewski

Consultant pour l'agence Heaven depuis 2007. - Expertise SEO - Analyse de l'engagement sur Facebook

Voir tous les articles de Vincent Malischewski →

7 réflexions sur « Error establishing a database connection – la solution »

  1. ouai c’est pas con comme solution, bien vu !
    Je vais tenter de faire pareil mais de faire raffraichir la page car moi parfois ca marche, parfois non …

  2. Quelle est la technique la plus propre pour faire une redirection automatique ? Parce que j’ai remarqué qu’à chaque fois que j’avais cette erreur il me suffisait d’actualiser la page pour régler le problème et évidemment je souhaiterais que le visiteur n’ait pas à le faire.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *