Tworzysz stronę internetową i potrzebujesz pomocy?

Z racji tego, że dzień mi zleciał dziś w tempie ekspresowym, to pomyślałem, że może jakiś „szybki temat”, a skoro ostatnio pisałem jak próbować reanimować bazę danych WordPressa m.in. za pomocą wbudowanego mechanizmu, to może warto napisać, jak ustawić własny komunikat błędu połączenia z bazą danych…

WordPress i błąd połączenia z bazą danych

Oczywiście nikomu z Was nie życzę, by kiedykolwiek miał Wam się przydać własny komunikat (nie tylko) błędu połączenia z bazą danych, to jak w przypadku każdego żywego organizmu, a takim jest niewątpliwie każdy CMS, gdzie mamy nie tylko ciągłe operacje na bazie danych, ale i różne aktualizacje – zawsze coś może pójść nie tak, i być może warto jeśli już coś pójdzie nie tak przekazać użytkownikowi coś więcej niż:

Błąd łączenia się z bazą danych

Można na stronie umieścić dodatkowe informacje, np. kontaktowe (telefon, e-mail, linki do stron mediach społecznościowych, czy inne, alternatywne drogi/metody kontaktu), czy też dodać do niej jakiś mechanizm powiadamiający nasz na adres e-mail w przypadku wywołania strony błędu – choć tu zalecam dobrze przemyśleć mechanizmy zabezpieczające, by naszej skrzynki nie zalały e-maile (już lepiej skorzystać np. z Uptime Robot i strony typu „WordPress Status Page”).

Własny komunikat błędu (własna strona)

By wyświetlić własną stronę błędnego połączenia z bazą danych wystarczy utworzyć jeden plik, w którym umieszczamy wszelkie niezbędne informacje:

/wp-content/db-error.php

Co istotne – plik ten nie znika wraz aktualizacją WordPressa, więc nie ma obaw, że po każdej aktualizacji będziecie musieli pamiętać, by go wgrać ponownie…

Podstawowa zawartość pliku

Wprawdzie jeśli chodzi o zawartość tego pliku, to macie dość dużą swobodę działania, to warto zadbać o standardowe nagłówki dla plików związanych z błędem 503, tak my zarówno przeglądarka użytkownika, jak i wyszukiwarki internetowe wiedziały, że jest to stan tymczasowy i niepożądany, i nie ma co go indeksować:

<?php
header( 'HTTP/1.1 503 Service Temporarily Unavailable' );
header( 'Status: 503 Service Temporarily Unavailable' );
header( 'Retry-After: 600' ); # 600 sekund, czyli 10 minut
?>

Wyjątkowo nie namawiam do testów, ale jak byście bardzo chcieli, to w jakiś „martwych godzinach” wystarczy w pliku „wp-config.php” minimalnie zmienić nazwę bazy danych – oczywiście tylko na chwilę… ;-)

(!) Zgłoś błąd na stronie | Lub postaw nam kawę :-)
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Kurs "WordPress: Pierwsze kroki" (bezpłatna lekcja)
Patryk
Kurs "WordPress: Pierwsze kroki" (bezpłatna lekcja)