Co jest bardziej frustrujące niż siadanie bez wiedzy dlaczego? Oto jak naprawić błąd WordPressa „Witryna ma problemy techniczne”, który zdezorientował wielu doświadczonych użytkowników WordPressa.
Nie ma nic gorszego podczas aktualizacji motywów WordPress lub wtyczek, aby uzyskać przerażenie Biały ekran śmierci!
Żadnych informacji zwrotnych, żadnych komunikatów z serwisu, tylko pusty biały ekran!
Możesz kliknąć na powyższy link i przeczytać nasz post połączony powyżej, aby uzyskać dobry przegląd tego, czym jest biały ekran śmierci (WSoD) (i jak to naprawić!)
Alert spoilera! Zasadniczo jest to „błędny krytyczny” PHP, który uniemożliwia WordPressowi ładowanie czegokolwiek, nawet czasu na wyświetlenie komunikatu o błędzie
Cóż, wspaniali programiści WordPress postanowili coś z tym zrobić.
Witryna ma problemy techniczne
Wersja 5.2 WordPressa i nowsze próbuje wykryć błędy PHP, które są przyczyną WSoD.
Rezultatem jest nowa wiadomość „Witryna ma problemy techniczne”.
To znacznie lepsze niż pusty ekran, ale wydaje się, że wielu doświadczonych użytkowników WordPressa nie wie jeszcze o tej nowej wiadomości.
Bo kto i tak czyta blogi aktualizacyjne WordPressa, co?
Jak znaleźć błąd
PHP jest używane w rdzeniu WordPressa, motywach i wtyczkach, więc to naprawdę nie ogranicza.
Najlepszym miejscem do rozpoczęcia jest przełączenie WordPressa w tryb debugowania i przyjrzenie się generowanemu przez niego plikowi dziennika.
Przełącz WordPressa w tryb debugowania
Znajdź swój wp-config.php plik, więc być w stanie przełącz WordPressa w tryb debugowania.
Najlepszym rozwiązaniem będzie użycie Menedżera plików w cPanel lub jego odpowiednika na koncie hostingowym.
Plik wp-config.php powinien znajdować się w głównym folderze hostingu i zawierać ustawienia konfiguracyjne dla WordPressa.
Dodaj następujące wiersze do pliku, gdzieś powyżej wiersza / * To wszystko, przestań edytować! Miłego blogowania. * /
zdefiniuj ('WP_DEBUG', prawda);
zdefiniuj ('WP_DEBUG_LOG', prawda);
zdefiniuj ('WP_DEBUG_DISPLAY', fałsz);
Po dodaniu wierszy i zapisaniu pliku naciśnij Odśwież na dowolnej stronie w witrynie.
W Menedżerze plików przejdź do folderu / wp-content / i wyświetl debug.log
plik.
Poszukaj w tym pliku wiersza z napisem „Błąd krytyczny PHP:”.
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 poda dokładny plik i numer wiersza, w którym wystąpił błąd.
Możesz go użyć do określenia, czy błąd dotyczy wtyczki, motywu lub rdzenia WordPress.
Wyczyść kod debugowania
Pamiętaj, aby usunąć wiersze kodu debugowania z pliku wp-config.php po zakończeniu.
Alternatywna metoda naprawy
Jeśli metoda debugowania jest zbyt trudna do zrozumienia, istnieje inny sposób na naprawienie błędu. Trwa to trochę dłużej, ale będzie działać świetnie.
Rozwiązywanie konfliktów tematycznych
Z powodu błędu nie będziesz mógł zalogować się do backendu administratora, aby zmienić motyw.
Musisz to zrobić, korzystając z systemu zarządzania plikami dostawcy usług hostingowych.
Znajdź folder bieżącego motywu, którego używa Twoja witryna, w /wp-content/themes i zmień nazwę katalogu z późniejszą poprawką na „STARY”.
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, która zawiera błąd.
Nie martw się, nie stracisz żadnych ustawień motywu. Będą dostępne po przywróceniu nazwy folderu motywu na końcu tego procesu.
Uwaga: Aby to zadziałało, musisz mieć co najmniej jeden inny domyślny motyw, taki jak Twenty Nineteen lub Twenty Sixteen, w folderze motywów.
Jeśli po zaktualizowaniu strony głównej witryny błąd nadal występuje, oznacza to, że nie ma go w motywie i można zmienić nazwę folderu motywu z powrotem na jego oryginalną nazwę.
Jeśli błąd zniknie i zobaczysz, że Twoja witryna korzysta z jednego z domyślnych motywów, oznacza to, że Twój motyw zawiera błąd.
Możesz teraz zalogować się do obszaru administracyjnego, aby zaktualizować motyw lub skontaktować się z twórcą motywu lub firmą w celu aktualizacji.
Rozwiązywanie konfliktów wtyczek
Jeśli motyw nie jest problemem, prawdopodobnie jest to wina wtyczki.
Najszybszym sposobem na to jest użycie aplikacji do zarządzania plikami konta hostingowego.
Przejdź do / wp-content / plugins i zmień nazwę folderu „plugins” na „pluginsOLD”.
Teraz zaktualizuj witrynę i zaloguj się do pulpitu administratora i przejdź do widoku Wtyczki.
Zauważysz, że wszystkie wtyczki zostały wyłączone, ponieważ WordPress nie może ich znaleźć, ponieważ 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.
Teraz zacznij aktywować każdą wtyczkę raz za razem, odświeżając stronę główną witryny, aż ponownie pojawi się komunikat o błędzie.
Bingo! Ostatnia aktywowana wtyczka to ta, w której wystąpił błąd.
Teraz, gdy już wiesz, która wtyczka powoduje problem, możesz skontaktować się z deweloperem lub firmą, od której ją kupiłeś, aby uzyskać łatkę, lub 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 w pliku dziennika generowany jest błąd krytyczny PHP, ponieważ stara funkcja PHP 5.6 już nie istnieje.
Nazywa się to deprecjacją, w której stare funkcje są usuwane na rzecz nowszych, lepszych funkcji.
Czas zaktualizować wersję PHP z 5 do 7. Możesz to również łatwo zrobić z cPanel.
Jeśli nie masz dostępu do cPanel, skontaktuj się z dostawcą usług hostingowych, a oni pomogą Ci w aktualizacji.
W chwili pisania tego tekstu zalecamy aktualizację do PHP 7.3.
Po przejściu do ekranu możesz wybrać wersję PHP do uruchomienia zgodnie z poniższym opisem.
Wyłączanie ochrony przed krytycznym błędem (WSOD)
Jeśli jesteś programistą i szukasz dodatkowej szczegółowości nowej ochrony przed krytycznymi błędami PHP, możesz ją wyłączyć na kilka sposobów.
- Edytuj plik wp-config.php i dodaj następujący wiersz:
define( ‘WP_DISABLE_FATAL_ERROR_HANDLER’, true )
- W pliku functions.php Twojego 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, aby przeanalizować dane wyjściowe błędu.
Podsumowanie
Jeśli postępowałeś zgodnie z instrukcjami tutaj, miejmy nadzieję, że uruchomisz kopię zapasową i naprawisz błąd: witryna ma problemy techniczne.
Nadszedł czas, aby upewnić się, że Twoje Kopie zapasowe WordPress działają poprawnie, na wypadek, gdybyś musiał ich użyć w ostateczności, jeśli coś takiego się powtórzy!
Proszę zostaw użyteczny skomentuj swoje przemyślenia, a następnie udostępnij to na swoich grupach na Facebooku, które uznają to za przydatne i wspólnie zbierzmy korzyści. Dziękuję za udostępnienie i bycie miłym!
Ujawnienie: Ta strona może zawierać linki do zewnętrznych witryn produktów, które kochamy i gorąco polecamy. Jeśli kupisz sugerowane przez nas produkty, możemy otrzymać opłatę za polecenie. Takie opłaty nie wpływają na nasze rekomendacje i nie przyjmujemy płatności za pozytywne recenzje.