En alguna ocasión nos podemos encontrar con un error de acceso a la base de datos por diversos motivos, y en estos casos nos aparece sobre una pantalla con el fondo blanco la frase “Error estableciendo una conexión con la base de datos”.
En ésta entrada vamos a ver cómo poder personalizar ésta pantalla, y añadiremos la funcionalidad de avisarnos por mail en caso de que se produzca éste error, para poder actuar lo antes posible y resolver el problema de manera rápida.
Crearemos un html personalizado a nuestro gusto y lo guardaremos con el nombre “db-error.php” dentro de la carpeta wp-content/.
<?php
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 600'); // 1 hora = 3600 segundos
//Nos enviamos un e-mail en caso de que se produzca éste error en nuestra página
mail("tuemail@tudominio.com", "Error de acceso a Base de Datos", "Detectado un problema de acceso a la base de datos", "From: Db Error Watching");?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Error de acceso a la base de datos</title>
<style type="text/css">
body {
padding: 20px;
background: #f1f1f1;
}
.error-wrapper {
position: relative;
clear: both;
max-width: 1200px;
font-size: 16px;
margin: 0 auto;
}
</style>
</head>
<body>
<div class="error-wrapper">
<p>Se ha producido un error intentando acceder a la base de datos.</p>
<p>Ya hemos dado el aviso, intenta acceder pasados unos minutos.</p>
</div>
</body>
</html>
En éste ejemplo hemos creado un html muy básico. A partir de aquí puedes dar rienda suelta a tu creatividad y crear un mensaje personalizado o que encaje con el look & feel de tu sitio.
Añade los estilos CSS que necesites, o alguna librería tipo bootstrap, imágenes, tu logo, teléfono o email de contacto, etc.. para que si un visitante que entre en tu sitio y vea que hay un problema, se le notifique que se está trabajando en solucionarlo, se le advierta que puede volver a intentarlo en unos minutos, y al menos tenga la oportunidad de ponerse en contacto contigo por otra vía como el teléfono o e-mail.