- Najczęstsze przyczyny białej strony w Drupal
- Błędy PHP i wyłączone raportowanie błędów
- Problemy z pamięcią i limitem zasobów
- Niekompletne lub błędne aktualizacje rdzenia i modułów
- Błędy w konfiguracji serwera i uprawnieniach plików
- Włączanie trybu debugowania i raportowania błędów
- Tymczasowe włączanie wyświetlania błędów PHP
- Konfiguracja logów w panelu administracyjnym Drupala
- Drush i diagnostyka z linii poleceń
- Środowiska developerskie i konfiguracja Xdebug
- Typowe scenariusze awarii i ich rozpoznawanie
- Biała strona po aktualizacji rdzenia lub modułów
- Biała strona po instalacji nowego motywu lub zmianie motywu domyślnego
- Biała strona po włączeniu nowego modułu lub funkcji
- Biała strona w efekcie migracji lub zmiany środowiska
- Krok po kroku: praktyczna ścieżka diagnostyczna
- Sprawdzenie logów serwera i PHP
- Wyłączenie cache i optymalizacji, sprawdzenie pamięci
- Stopniowe wyłączanie podejrzanych modułów i motywów
- Porównanie plików z referencyjną wersją Drupala
Biała strona zamiast działającej witryny Drupal potrafi skutecznie sparaliżować pracę administratora i zniechęcić użytkowników. To klasyczny efekt poważnego błędu PHP lub krytycznej pomyłki w konfiguracji, który jednak często daje się dość szybko zlokalizować. Poniżej znajdziesz praktyczny przewodnik pokazujący, jak krok po kroku zdiagnozować przyczynę białej strony, zrozumieć mechanizmy odpowiedzialne za ten stan i bezpiecznie przywrócić działanie serwisu.
Najczęstsze przyczyny białej strony w Drupal
Błędy PHP i wyłączone raportowanie błędów
Biała strona w Drupal to w większości przypadków efekt krytycznego błędu PHP, który nie zostaje wyświetlony w przeglądarce. W środowisku produkcyjnym raportowanie błędów jest zwykle wyłączone, aby nie ujawniać szczegółów konfiguracji serwera. W efekcie użytkownik widzi tylko pustą stronę, a w tle dochodzi do przerwania wykonywania skryptu.
Najczęstsze problemy to:
- niezgodności wersji PHP z używaną wersją Drupal lub modułami,
- fatalne błędy w niestandardowych modułach,
- nieprawidłowe aktualizacje plików rdzenia, motywów lub bibliotek,
- brak wymaganych rozszerzeń PHP lub funkcji wyłączonych w php.ini.
Jeśli serwer ma włączone logowanie błędów, kluczowe informacje znajdziesz w pliku error_log (na serwerach Apache) lub w dziennikach PHP-FPM. W pierwszym kroku warto upewnić się, gdzie dokładnie zapisywane są błędy i czy masz do nich dostęp z poziomu panelu hostingowego lub przez SSH.
Problemy z pamięcią i limitem zasobów
Drugą częstą przyczyną białej strony jest wyczerpanie pamięci przydzielonej dla skryptów PHP. Gdy kod Drupala próbuje załadować za dużo danych lub wykonać zbyt kosztowne operacje (np. skomplikowane widoki, masowe importy, generowanie cache), skrypt może zostać zakończony bez wyświetlenia komunikatu błędu.
Typowe symptomy:
- błąd Allowed memory size exhausted w logach,
- biała strona po wejściu w konkretną sekcję panelu administracyjnego,
- problem pojawiający się po włączeniu kilku ciężkich modułów.
W takich sytuacjach warto tymczasowo zwiększyć parametr memory_limit w php.ini lub w pliku .htaccess (o ile konfiguracja na to pozwala). Jeśli biała strona pojawia się tylko w niektórych widokach, warto spojrzeć na ich konfigurację i ograniczyć liczbę ładowanych elementów.
Niekompletne lub błędne aktualizacje rdzenia i modułów
Aktualizacja Drupala lub modułów przeprowadzona częściowo, przerwana w połowie lub wykonana ręcznie bez zachowania zależności może doprowadzić do stanu, w którym kod oczekuje plików lub funkcji, których już nie ma lub które zmieniły nazwę. To szczególnie częste przy ręcznej wymianie katalogu core lub przy aktualizacji motywów, które integrują się z dodatkowymi bibliotekami.
Problem pojawia się często po:
- aktualizacji przez FTP bez pełnego nadpisania katalogów,
- pozostawieniu starych plików po usuniętych modułach,
- niezastosowaniu się do instrukcji aktualizacji między dużymi wersjami,
- modyfikowaniu kodu rdzenia bez wersjonowania.
W takiej sytuacji diagnostyka wymaga porównania obecnego stanu plików z oficjalnym pakietem Drupala lub z repozytorium Git oraz upewnienia się, że wszystkie wymagane moduły i biblioteki są obecne w odpowiednich katalogach.
Błędy w konfiguracji serwera i uprawnieniach plików
Drupal jest wrażliwy na błędną konfigurację serwera WWW oraz nieprawidłowe uprawnienia plików. Niewłaściwe ustawienia mogą blokować dostęp do kluczowych skryptów lub uniemożliwiać wykonywanie operacji zapisu w katalogu sites i podkatalogach.
Najczęstsze problemy:
- zbyt restrykcyjne uprawnienia (np. brak odczytu dla użytkownika serwera),
- błędnie skonfigurowane reguły w .htaccess,
- zmiana użytkownika procesu PHP po migracji na inny serwer,
- blokady na poziomie SELinux lub innych mechanizmów bezpieczeństwa.
Warto sprawdzić, czy katalogi Drupala mają poprawne właścicielstwo i czy serwer ma prawo zapisu w katalogach tymczasowych i cache. Jeśli podczas migracji ręcznie przenoszono pliki, szczególnie ważne jest sprawdzenie zgodności właścicieli i grup.
Włączanie trybu debugowania i raportowania błędów
Tymczasowe włączanie wyświetlania błędów PHP
Aby przejść od białej strony do konkretnej informacji o błędzie, trzeba włączyć wyświetlanie błędów PHP lub ich szczegółowe logowanie. W środowisku produkcyjnym należy robić to ostrożnie i na możliwie krótki czas, najlepiej ograniczając dostęp do serwisu tylko dla administratorów.
Najprostsza metoda to dodanie w pliku index.php lub settings.php kilku linijek włączających raportowanie błędów. Przykładowo można ustawić maksymalny poziom raportowania i włączyć wyświetlanie błędów bezpośrednio w przeglądarce. Po naprawieniu problemu trzeba niezwłocznie usunąć te ustawienia, aby nie ujawniać wrażliwych informacji użytkownikom.
Alternatywnie, gdy dostęp do plików jest ograniczony, można skorzystać z panelu administracyjnego serwera (np. w panelach hostingowych) i tam włączyć globalne logowanie błędów dla konta lub domeny. Warto jednocześnie sprawdzić, gdzie dokładnie trafiają logi i jak długo są przechowywane.
Konfiguracja logów w panelu administracyjnym Drupala
Gdy strona nie jest całkowicie niedostępna, a biała strona występuje tylko w wybranych obszarach, pomocne będą logi systemowe Drupala. Moduł odpowiedzialny za rejestrowanie zdarzeń pozwala śledzić błędy na poziomie aplikacji, ostrzeżenia, powiadomienia o nieudanych logowaniach oraz inne istotne komunikaty.
W konfiguracji logowania możesz wybrać poziom szczegółowości, ustalić, jak długo przechowywać wpisy oraz czy zapisywać je w bazie danych czy przesyłać do zewnętrznego systemu. Jeśli moduł logowania jest wyłączony, jego aktywacja bywa kluczowa dla dalszej diagnostyki – bez historii zdarzeń trudno odtworzyć sekwencję kroków, które prowadzą do wystąpienia błędu.
Szczególnie przydatne są wpisy zawierające informacje o krytycznych błędach, przerwanych procesach cron i nieudanych próbach aktualizacji. Analiza tych danych pozwala zorientować się, czy problem ma charakter jednorazowy, czy narastał z czasem.
Drush i diagnostyka z linii poleceń
Drush, czyli narzędzie wiersza poleceń dla Drupala, to jedno z najskuteczniejszych rozwiązań przy diagnozowaniu białej strony. Nawet gdy interfejs WWW przestaje działać, często nadal można wykonywać polecenia Drusha, które pozwalają na czyszczenie cache, wyłączanie modułów lub uruchamianie zadań aktualizacyjnych.
Za pomocą Drusha można między innymi:
- włączyć lub wyłączyć problematyczne moduły,
- uruchomić skrypty aktualizacji bazy danych,
- odświeżyć konfigurację lub wykonać eksport ustawień,
- przejrzeć logi systemowe bez dostępu do panelu administracyjnego.
Jeśli biała strona pojawiła się bezpośrednio po instalacji nowego modułu, to właśnie Drush często pozwala na jego szybkie wyłączenie i przywrócenie działania witryny. Wymaga to jednak dostępu do serwera przez SSH i zainstalowanego środowiska Drush kompatybilnego z wersją Drupala.
Środowiska developerskie i konfiguracja Xdebug
Przy bardziej złożonych problemach warto przenieść kopię strony na lokalne środowisko developerskie i uruchomić szczegółowe debugowanie przy użyciu narzędzi takich jak Xdebug. Dzięki temu można śledzić przebieg działania kodu linia po linii, analizować zawartość zmiennych i zatrzymywać wykonanie skryptu w wybranych miejscach.
Takie podejście wymaga nieco więcej czasu i wiedzy technicznej, ale pozwala zdiagnozować błędy, których nie widać w standardowych logach: na przykład złożone konflikty między modułami, nieoczywiste problemy z ładowaniem bibliotek czy błędy logiczne w niestandardowym kodzie. Kopia środowiska na lokalnej maszynie ma też tę zaletę, że można tam bezpiecznie testować różne hipotezy, bez ryzyka dodatkowego uszkodzenia działającej wersji produkcyjnej.
Typowe scenariusze awarii i ich rozpoznawanie
Biała strona po aktualizacji rdzenia lub modułów
Biała strona pojawiająca się zaraz po aktualizacji Drupala lub modułów to klasyczny problem administracyjny. Zwykle oznacza to, że nowa wersja kodu nie jest w pełni zgodna z obecną wersją bazy danych lub z innymi modułami. Niekiedy przyczyną jest pominięcie uruchomienia skryptów aktualizacyjnych, które wprowadzają zmiany w strukturze tabel.
Rozpoznanie scenariusza:
- problem pojawił się tuż po wgraniu nowych plików lub po użyciu menedżera aktualizacji,
- w logach widać błędy dotyczące brakujących tabel, kolumn lub funkcji,
- ta sama aktualizacja działa poprawnie na środowisku testowym, ale nie na produkcji.
W takim przypadku należy upewnić się, że wszystkie kroki aktualizacji zostały wykonane zgodnie z dokumentacją. Może to obejmować uruchomienie odpowiedniej ścieżki aktualizacyjnej, wyczyszczenie cache oraz ewentualne ponowne wdrożenie plików na serwer, jeśli używano transferu ręcznego przez FTP.
Biała strona po instalacji nowego motywu lub zmianie motywu domyślnego
Zmiana motywu w Drupal może spowodować białą stronę, jeśli nowy motyw zawiera błędy w plikach szablonów, korzysta z brakujących bibliotek lub jest niezgodny z wersją rdzenia. Problemy ujawniają się często zaraz po ustawieniu motywu jako domyślnego lub po włączeniu podmotywu bazującego na zewnętrznych bibliotekach CSS i JS.
Rozpoznanie scenariusza:
- biała strona pojawia się głównie w frontowej części serwisu,
- panel administracyjny częściowo działa w innym motywie,
- w logach lub w komunikatach błędów widać odniesienia do plików .theme lub plików szablonów.
W takiej sytuacji pomocne jest tymczasowe przełączenie motywu z poziomu Drusha lub bezpośrednia modyfikacja odpowiednich wpisów w bazie danych. Można też przywrócić poprzedni motyw jako domyślny i dopiero na kopii testowej próbować ponownie przeanalizować konfigurację i zależności nowego motywu.
Biała strona po włączeniu nowego modułu lub funkcji
Włączenie modułu w Drupal łączy się z modyfikacją bazy danych, budową cache oraz integracją z innymi modułami. Jeśli nowy moduł zakłada istnienie określonych zależności lub wersji innych modułów, a te nie są spełnione, może to doprowadzić do poważnych błędów. Czasem problem wynika po prostu z błędu programistycznego w samym module.
Rozpoznanie scenariusza:
- biała strona wystąpiła tuż po zaznaczeniu nowego modułu i zapisaniu zmian,
- logi wskazują na błędy w funkcjach należących do tego modułu,
- po wyłączeniu modułu (np. przez Drush) strona wraca do życia.
Rozwiązanie obejmuje zwykle wyłączenie problematycznego modułu, sprawdzenie wersji jego zależności oraz upewnienie się, że jest on przeznaczony dla używanej wersji Drupala. Jeśli moduł pochodzi z zewnętrznego źródła, warto poszukać zgłoszeń błędów i poprawek w repozytorium projektu.
Biała strona w efekcie migracji lub zmiany środowiska
Przeniesienie strony Drupal na inny serwer, zmianę wersji PHP lub zmianę konfiguracji bazy danych bardzo często ujawnia problemy, które wcześniej były ukryte. Różnice w konfiguracji rozszerzeń PHP, innych limitach zasobów czy ustawieniach regionalnych mogą powodować błędy uniemożliwiające załadowanie strony.
Rozpoznanie scenariusza:
- przed migracją strona działała poprawnie,
- błąd pojawia się wyłącznie na nowym serwerze lub po podniesieniu wersji PHP,
- w logach widać komunikaty o brakujących rozszerzeniach, zmianach w zachowaniu funkcji lub problemach z kodowaniem znaków.
W takiej sytuacji kluczem jest dokładne porównanie konfiguracji starego i nowego środowiska: wersji PHP, rozszerzeń, konfiguracji bazy danych, ustawień regionalnych. Jeśli to możliwe, warto na czas diagnostyki przywrócić poprzednią wersję środowiska, aby upewnić się, że źródłem problemu jest wyłącznie zmiana konfiguracji, a nie dodatkowe modyfikacje kodu.
Krok po kroku: praktyczna ścieżka diagnostyczna
Sprawdzenie logów serwera i PHP
Pierwszym praktycznym krokiem przy białej stronie jest dotarcie do logów serwera i PHP. Niezależnie od tego, czy pracujesz na hostingu współdzielonym, czy na własnym serwerze, musisz wiedzieć, gdzie zapisywane są błędy. Zazwyczaj jest to plik error_log, dziennik Apache lub Nginx oraz logi PHP-FPM. W panelach hostingowych często istnieje specjalna sekcja z podglądem logów.
W logach szukaj wpisów z bieżącego dnia i godzin zbliżonych do momentu wystąpienia białej strony. Interesują Cię przede wszystkim błędy typu fatal error, parse error oraz memory exhausted. Notuj pełne treści komunikatów, ponieważ będą one wskazywać konkretne pliki, linie kodu i funkcje odpowiedzialne za problem.
Jeśli logi są puste lub nie zawierają użytecznych informacji, może to oznaczać, że raportowanie błędów jest niewystarczająco skonfigurowane. W takim przypadku przechodzisz do kolejnego kroku, czyli tymczasowego włączenia bardziej szczegółowego logowania lub wyświetlania błędów bezpośrednio w przeglądarce.
Wyłączenie cache i optymalizacji, sprawdzenie pamięci
Gdy pierwsze spojrzenie w logi wskazuje na problemy z pamięcią lub przeciążeniem, warto tymczasowo wyłączyć wszystkie mechanizmy cache, aby zredukować obciążenie i wykluczyć błędy związane z nieaktualnymi danymi w pamięci podręcznej. Można to zrobić za pomocą Drusha lub poprzez modyfikację ustawień w panelu administracyjnym, jeśli jest dostępny.
Jednocześnie warto chwilowo zwiększyć limit pamięci dla procesów PHP, aby upewnić się, że problem nie jest wyłącznie skutkiem zbyt niskiego limitu. Jeśli po zwiększeniu pamięci biała strona znika, oznacza to, że konfiguracja była zbyt agresywna względem faktycznego zużycia zasobów przez serwis. Nie oznacza to jednak, że docelowym rozwiązaniem jest bezkrytyczne podnoszenie limitów – często konieczna jest optymalizacja widoków, usunięcie zbędnych modułów oraz redukcja liczby zapytań do bazy.
Warto też przyjrzeć się obciążeniu serwera i innym usługom działającym równolegle. W środowisku współdzielonym inne strony hostowane na tym samym serwerze mogą znacząco wpływać na dostępność zasobów, a w skrajnych przypadkach prowadzić do ubicia procesów PHP przez system.
Stopniowe wyłączanie podejrzanych modułów i motywów
Jeśli logi wskazują na określony moduł lub motyw, albo biała strona pojawiła się po konkretnej zmianie konfiguracyjnej, skuteczną metodą jest stopniowe wyłączanie elementów odpowiedzialnych za rozszerzanie funkcjonalności Drupala. W pierwszej kolejności wyłącz moduły, które były ostatnio instalowane lub aktualizowane, a także wszelkie niestandardowe rozszerzenia, które nie pochodzą z głównego repozytorium.
W przypadku motywów można spróbować tymczasowo przełączyć się na prosty, domyślny motyw Drupala i sprawdzić, czy biała strona znika. Jeśli tak, oznacza to, że aktualny motyw zawiera błąd lub jest niezgodny z wersją rdzenia. Wyłączenie problematycznych elementów pozwala zwykle przywrócić dostęp do panelu administracyjnego i bezpieczniej prowadzić dalsze testy.
Metoda stopniowego wyłączania ma tę zaletę, że pomaga odizolować źródło problemu bez konieczności natychmiastowej ingerencji w kod. Dopiero gdy wyłączenie modułów i motywów nie pomaga, warto przejść do żmudniejszej analizy plików i kodu źródłowego.
Porównanie plików z referencyjną wersją Drupala
Ostatnim etapem ścieżki diagnostycznej, gdy wcześniejsze kroki nie przyniosły rozwiązania, jest porównanie plików instalacji z referencyjną wersją Drupala. Można to zrobić poprzez pobranie oficjalnego pakietu danej wersji, sklonowanie repozytorium lub wykorzystanie narzędzi kontroli wersji, jeśli projekt od początku był zarządzany w takim systemie.
Porównując katalogi rdzenia i modułów, możesz wykryć brakujące pliki, niekompletne aktualizacje, zbędne pliki pozostawione po starszych wersjach oraz nieautoryzowane modyfikacje. Szczególnie warto przyjrzeć się katalogom core, vendor oraz katalogom modułów rdzeniowych. Wszelkie różnice, których nie potrafisz uzasadnić, mogą wskazywać na źródło problemu, w tym nawet na skutki błędnego wdrożenia lub ingerencji osób trzecich.
Po przywróceniu zgodności plików z oficjalną dystrybucją Drupala, wyczyszczeniu cache i ponownym uruchomieniu serwisu często okazuje się, że biała strona znika. Taki proces, choć czasochłonny, zapewnia również większą pewność, że instalacja jest spójna i wolna od przypadkowych zmian, które utrudniają przyszłe aktualizacje i utrzymanie.