web-dev-qa-db-fra.com

Modification du message d'erreur de connexion à la base de données

Je gère un site qui connaît une augmentation soudaine et inattendue du trafic. À cause de cela, il y a des délais d'attente d'accès à la base de données, avec le message "Erreur d'établissement de la connexion à la base de données".

Ceci estnotun problème de configuration, mais un problème de "chargement". J'ai installé un plugin de mise en cache pour aider, ce qui a quelque peu aidé.

Ce que je voudrais faire, tout en essayant de limiter les niveaux de trafic, est de modifier le message affiché à l'écran. Existe-t-il un filtre ou un modèle pouvant être utilisé pour modifier ce message d'erreur?.

Notez que ma question estnotliée à des problèmes d’authentification de base de données, mais comment mettre en place un message différent de celui affiché ou rediriger vers une page plus 'statique' (que le plugin de mise en cache peut aider à). L'emplacement d'hébergement ne peut pas fournir de ressources supplémentaires et je ne souhaite/n'ai pas besoin de passer à une solution d'hébergement plus puissante et plus chère.

2
Rick Hellewell

En gros, si vous créez un fichier PHP nommé db-error.php et que vous le mettez sous /wp-content/, vous obtiendrez ce que db-error.php aura. Voici mon template sur CodePen .

C'est exemple:

<?php

    header('HTTP/1.1 503 Service Temporarily Unavailable');
    header('Status: 503 Service Temporarily Unavailable');
    header('Retry-After: 3600'); // 1 hour = 3600 seconds
    mail("[email protected]", "Database Error", "There is a problem with teh database!", "From: Example.COM");

?>
<!DOCTYPE HTML>
<html dir="ltr" lang="en-US">
    <head>
        <title>503 Service Temporarily Unavailable</title>
        <style type="text/css">
            h1, p {
                font-family: Helvetica, sans-serif;
                font-size: 24px;
                color: #333;
                }
            p {
                font-size: 14px;
                }
        </style>
    </head>
    <body>
        <h1>Uff, you came and our server started to sink!</h1>
        <p>You did nothing wrong. We are sad but our server's condition is just bad out of load. Please check back after sometime.</p>
    </body>
</html>
4
Abhishek Ghosh