Co jest bardziej frustrujące niż siedzenie i siadanie bez wiedzy dlaczego? Oto jak naprawić błąd WordPressa „Strona ma problemy techniczne”, który zdezorientował wielu doświadczonych użytkowników WordPressa.

{automatycznie}

Nie ma nic gorszego podczas aktualizacji motywów lub wtyczek WordPress, niż uzyskanie nieszczęsnego efektu Biały ekran śmierci!

Brak informacji zwrotnej, brak komunikatów o niedziałającej stronie, tylko pusty, biały ekran!

Kliknij powyższy odnośnik i przeczytaj nasz wpis, w którym znajdziesz dobry opis tego, czym jest Biały Ekran Śmierci (WSoD) i jak sobie z nim poradzić!

Alert spoilera! To w zasadzie „błąd krytyczny” PHP, który uniemożliwia WordPressowi załadowanie czegokolwiek, nawet nie wyświetla komunikatu o błędzie

Cóż, kochani programiści WordPressa postanowili coś z tym zrobić.

Strona ma problemy techniczne

Wersja 5.2 WordPressa i nowsze próbują wykryć błędy PHP będące przyczyną WSoD.

Rezultatem jest nowy komunikat: „Strona ma problemy techniczne”.

ta strona ma problemy techniczne komunikat o błędzie WordPress


To o wiele lepsze niż pusty ekran, ale wygląda na to, że wielu doświadczonych użytkowników WordPressa jeszcze nie zdaje sobie sprawy z tego nowego komunikatu.

Bo kto w ogóle czyta blogi o aktualizacjach WordPressa, prawda?

Jak znaleźć błąd


PHP jest używane w rdzeniu WordPressa, motywach i wtyczkach, więc nie stanowi to większego ograniczenia.

Najlepszym sposobem na rozpoczęcie pracy jest przełączenie WordPressa w tryb debugowania i sprawdzenie generowanego pliku dziennika.

Przełącz WordPressa w tryb debugowania


Znajdź swój wp-config.php plik, aby móc przełącz WordPressa w tryb debugowania.

Najlepszym rozwiązaniem będzie skorzystanie z Menedżera plików w cPanelu lub odpowiednika na koncie hostingowym.

Plik wp-config.php powinien znajdować się w głównym folderze hostingu i zawierać ustawienia konfiguracyjne WordPressa.

Dodaj następujące wiersze do pliku, gdzieś nad wierszem / * To wszystko, przestań edytować! Miłego blogowania. * /

zdefiniuj ('WP_DEBUG', prawda);
zdefiniuj ('WP_DEBUG_LOG', prawda);
zdefiniuj ('WP_DEBUG_DISPLAY', false);


Po dodaniu wierszy i zapisaniu pliku kliknij przycisk Odśwież na dowolnej stronie witryny.

W Menedżerze plików przejdź do folderu /wp-content/ i wyświetl debug.log plik.

Poszukaj w tym pliku wiersza o treści „PHP Fatal Error:”.

Oto przykład tego, co zobaczysz.

PHP fatal error: unable to declare bp_members_screen_display_profile () again (previously declared in /.../buddypress/bp-members/screens/profile.php:22) in /.../buddypress/bp-members/screens/profile.php on line 32

Wiersz w debug.log zawiera dokładny adres pliku i numer wiersza, w którym wystąpił błąd.

Za jego pomocą można sprawdzić, czy błąd dotyczy wtyczki, motywu czy jądra WordPressa.

Wyczyść kod debugowania


Pamiętaj, aby po zakończeniu pracy usunąć wiersze kodu debugowania z pliku wp-config.php.

Alternatywna metoda naprawy


Jeśli metoda debugowania jest dla Ciebie zbyt zagmatwana, istnieje inny sposób na naprawienie błędu. Zajmie to trochę więcej czasu, ale będzie działać świetnie.

Rozwiązywanie konfliktów tematycznych

Z powodu błędu nie będziesz mógł zalogować się do panelu administracyjnego w celu zmiany motywu.

Będziesz musiał to zrobić za pomocą systemu zarządzania plikami swojego dostawcy hostingu.

Znajdź aktualny folder motywu, z którego korzysta Twoja witryna w /wp-content/themes i zmień nazwę katalogu na późniejszą poprawkę „OLD”.

Na przykład, jeśli Twoja witryna używa Motyw Divi, zmień nazwę folderu „Divi” na „DiviOLD”, a następnie odśwież pierwszą stronę witryny, na której znajduje się błąd.

Nie martw się, nie stracisz żadnych ustawień motywu. Będą dostępne, gdy przywrócisz nazwę folderu motywu na końcu tego procesu.

Uwaga: Aby ta funkcja działała, w folderze motywów musi znajdować się co najmniej jeden inny domyślny motyw, np. Twenty Nineteen lub Twenty Sixteen.

Jeśli po zaktualizowaniu strony głównej witryny błąd nadal występuje, nie dotyczy on motywu i można przywrócić oryginalną nazwę folderu motywu.

Jeśli błąd zniknie i zauważysz, że Twoja witryna korzysta z jednego z domyślnych motywów, to motyw zawiera błąd.

Możesz teraz zalogować się do panelu administracyjnego, aby zaktualizować swój motyw lub skontaktować się z twórcą motywu lub firmą w celu uzyskania aktualizacji.

Rozwiązywanie konfliktów wtyczek


Jeśli problemem nie jest motyw, to najprawdopodobniej jest to wina wtyczki.

Najszybszą metodą jest skorzystanie z menedżera plików na koncie hostingowym.

Przejdź do /wp-content/plugins i zmień nazwę folderu „plugins” na „pluginsOLD”.

Teraz zaktualizuj witrynę, zaloguj się do panelu administratora i przejdź do widoku Wtyczki.

Zauważysz, że wszystkie wtyczki zostały wyłączone, ponieważ WordPress nie może ich znaleźć, gdyż zmieniliśmy nazwę folderu.

Wróć do menedżera plików i zmień nazwę „pluginsOLD” na „plugins”.

Wróć do widoku wtyczek w panelu administratora i odśwież widok.

 

Następnie należy aktywować każdą wtyczkę po kolei, odświeżając stronę główną witryny, aż ponownie pojawi się komunikat o błędzie.

Bingo! Ostatnia wtyczka, którą aktywowałeś, jest tą, która ma błąd.

Teraz, gdy wiesz już, która wtyczka powoduje problem, możesz skontaktować się z twórcą lub firmą, od której ją kupiłeś, w celu uzyskania poprawki, a w najgorszym przypadku, znaleźć alternatywną wtyczkę.

Uaktualnianie wersji PHP

WordPress zwiększył zalecaną wersję PHP do wersji 7.2, a autorzy wtyczek i motywów korzystają z nowych funkcji dostępnych w PHP 7.

Może się okazać, że błąd krytyczny PHP w pliku dziennika jest generowany, ponieważ stara funkcja PHP 5.6 już nie istnieje.

Zjawisko to nazywa się deprecjacją, czyli usuwaniem starych funkcji i zastępowaniem ich nowszymi i lepszymi funkcjami.

Czas uaktualnić wersję PHP z 5 do 7. Można to również łatwo zrobić za pomocą cPanel.

Jeśli nie masz dostępu do cPanel, skontaktuj się ze swoim dostawcą hostingu, a on pomoże Ci dokonać aktualizacji.

W momencie pisania tego tekstu zalecamy aktualizację do PHP 7.3.

cpanel wybierz wersję php

Po przejściu do ekranu możesz wybrać wersję PHP, którą chcesz uruchomić, zgodnie z poniższymi instrukcjami.

cpanel wybierz wersję php 7 3

Wyłączanie ochrony przed błędami krytycznymi (WSOD)

Jeśli jesteś programistą i zależy Ci na większej szczegółowości niż w przypadku nowej ochrony przed błędami krytycznymi PHP, możesz ją wyłączyć na kilka sposobów.

  1. Edytuj plik wp-config.php i dodaj następujący wiersz:
    define( ‘WP_DISABLE_FATAL_ERROR_HANDLER’, true )
  2. W pliku functions.php swojego motywu dodaj następujący wiersz:
    add_filter( ‘wp_fatal_error_handler_enabled’, ‘__return_false’ );

Druga metoda zwraca false do obsługi filtra. Możesz również użyć tej samej funkcji do analizy wyjścia błędu.

Podsumowanie

Mamy nadzieję, że po wykonaniu podanych tu instrukcji uda Ci się przywrócić działanie witryny i naprawić błąd: występują trudności techniczne.

Teraz jest czas, aby upewnić się, że Twoje Kopie zapasowe WordPress działają prawidłowo, na wypadek gdybyś musiał z nich skorzystać w ostateczności, gdyby tego typu sytuacja miała miejsce ponownie!