Jak naprawić błąd wewnętrzny serwera WordPress 500

Jak naprawić błąd wewnętrzny serwera WordPress 500

Większość z nas, zarówno programistów, projektantów, jak i użytkowników końcowych, musiała znosić co najmniej jednego w naszym życiu. Oznacza to bolesny proces uzyskiwania wewnętrznego błędu serwera i próby jego naprawienia. Wiele osób nie chce wiedzieć więcej – po prostu chcą to naprawić. Ale jeśli nie spróbujesz przynajmniej go zrozumieć, będziesz musiał częściej cierpieć ten los. Błąd wewnętrzny serwera 500 jest bardzo ważny, ponieważ całkowicie zatrzymuje wszystkie procesy i może doprowadzić do awarii całej witryny. Więc jeśli kiedykolwiek chcemy się go pozbyć, musimy najpierw lepiej zrozumieć, co to znaczy.


W tym artykule opiszę podstawy tego błędu, jak możesz zidentyfikować problem i oczywiście jak go naprawić. Ale zanim zacznę, chcę przeprowadzić użytkownika przez różne istniejące błędy http (witryny) i ich potencjalne znaczenie. Jeśli wolisz, możesz pominąć sposób naprawienia błędu WordPress 500.

Typowe kody HTTP i kody błędów

Po pierwsze – wyjaśnię, co tak naprawdę oznaczają te błędy. Obecnie istnieje lista statusu i błędy dla HTTP do których można uzyskać dostęp w celu lepszego rozwiązania problemu. Błędy te są zwykle podzielone na typy. Krótko mówiąc, zajmiemy się najważniejszymi błędami i kodami statusu, które znajdziesz podczas pracy z witryną WordPress.

100x odpowiedź (status)

Ten typ odpowiedzi jest podawany bezpośrednio przez serwer WWW. W zależności od firmy hostingowej odpowiedź może udzielić serwer Apache, nginx lub dowolny inny serwer sieciowy, z którego korzysta firma. Ten typ odpowiedzi nie jest związany z błędami. Są one zwykle używane do wskazania, że ​​połączenie jest gotowe. Są to kody odpowiedzi stanu na połączenia.

200x odpowiedź (sukces)

Te, które odnoszą sukcesy, nazywam ich. Ten typ odpowiedzi zawsze oznacza a sukces. Oznacza to, że albo serwer pomyślnie nawiązał połączenie z tobą, że żądane zasoby zostały podane poprawnie lub połączenie proxy zostało nawiązane.

Najpopularniejszy udany kod jest znany jako 200 OK. Możesz zobaczyć przykłady tego, jeśli używasz narzędzia do testowania prędkości WordPress, powiedzmy w Narzędziu pingowania i próbujesz znaleźć FTTB (pierwszy raz na bajt). Odpowiedź 200 OK jest zawsze podawana na pierwsze złożone żądanie.

300x odpowiedź (przekierowania)

Przekierowania chłopaki. Kody te są zawsze odsyłane, jeśli dany link przechodzi do przekierowania. 300 kodów stanu wskazuje udane przekierowanie, a także, nie uważany za błąd.

Załóżmy, że masz witrynę SSL (HTTPS), a także masz bezpośredni dostęp do HTTP (niezabezpieczony) i chcesz przekierować wszystkich do wersji HTTPS swojej witryny. Możesz utworzyć przekierowanie dla wszystkich żądań pochodzących z HTTP, aby przejść do HTTPS. Jeśli przypadkowo spróbujesz wejść na stronę przez HTTP, twoja przeglądarka otrzyma 300 odpowiedzi wskazujących na przekierowanie do wersji HTTPS.

Proste wskazówki WooCommerce: Yoast SEO przekierowuje produkty niedostępne w magazynie

Innym częstym przykładem, który możesz znać, są przekierowania na miejscu dla SEO. Być może usunąłeś stare posty lub strony. Za pomocą wtyczki takiej jak Yoast SEO możesz 301 przekierować je na nowsze, bardziej odpowiednie strony. Lub użyj tymczasowego przekierowania 307, jeśli pracujesz nad aktualizacją i chcesz skierować użytkowników na inną stronę.

400x odpowiedź (błędy klienta)

Znane błędy klienta. Tego typu błędy powodują problemy w przeglądarce. Zazwyczaj nie można załadować określonego zasobu (najbardziej znany jest błąd 404). To są kody błędów, które nie są uważane za poważne.

Ten sam błąd może zostać wyświetlony, jeśli spróbujesz uzyskać dostęp do nieistniejącego obrazu w Twojej witrynie. Na przykład możesz użyć przekierowania 410, aby poinformować wyszukiwarki, że treść została trwale usunięta, lub 451, jeśli strona została niedostępna z powodów prawnych (takich jak żądanie DMCA).

500x odpowiedź (błędy serwera)

A teraz dotarliśmy do naszego głównego bohatera. 500 błędów. Jak widać, są to ważne błędy i zawsze są związane z samym serwerem. Błędy serwera są ważne, ponieważ mogą skutecznie wypadek Twoja strona internetowa. Najważniejsze z tych błędów to:

  • Usługa 503 niedostępna
  • Błąd 502 błędnej bramy
  • Błąd wewnętrzny serwera 500

Przeanalizujmy 3 z nich według kolejności ważności.

503 Usługa niedostępna

Najmniej poważna jest usługa 503 niedostępna. Jeśli pojawi się ten błąd, masz problem z zasobami na serwerze WWW. Niemal cały czas pojawia się, kiedy twój serwer jest przeciążony. Mówiąc wprost, jeśli widzisz ten błąd, wiedz o tym to jest tymczasowe i jest to bezpośrednio związane z Zbyt duży ruch a to jest przeciążenie procesora. Ilekroć procesor i sam serwer nie mogą przetworzyć większej liczby połączeń przychodzących, ponieważ osiągnęły 100% wykorzystania procesora, zobaczysz ten komunikat o błędzie.

Możesz to naprawić, przechodząc na lepszy serwer WWW (na przykład z Apache na Nginx) lub wdrażając wtyczkę buforującą WordPress na swojej stronie.

502 Zła brama

To właśnie nazwałem błędem błędnej konfiguracji. Ten błąd nie pojawia się bez powodu. Jeśli kiedykolwiek wystąpił ten błąd, najprawdopodobniej przyczyną tego jest zrobiłeś coś i zrobiłeś to źle. Dzieje się tak zwykle, gdy ludzie próbują ulepszyć konfigurację Apache i PHP lub gdy próbują zoptymalizować nginx. Zła brama to błąd, który prawie zawsze zdarza się, gdy PHP FPM (Fast Process Manager) traci połączenie. Albo z poprawiania niewłaściwych ustawień, albo z powodu awarii procesu. To prowadzi serwer do odpowiedzi za pomocą zła Brama.

Najłatwiejszym sposobem naprawienia tego błędu jest dokładne sprawdzenie konfiguracji PHP-FPM, ponieważ jest to najbardziej prawdopodobna przyczyna tego błędu. Zdarza się to częściej po stronie Nginx niż na Apache i prawie nigdy nie dzieje się na usługach hostingowych dostarczanych przez cPanel lub Plesk. Te dwa ostatnie panele mają zabezpieczenia zapobiegające błędom w konfiguracji. Ale zdarza się to bardzo często przy zarządzaniu własnym VPS.

Szukasz dodatkowej pomocy w tym przypadku? Postępuj zgodnie z naszym przewodnikiem, jak naprawić błąd nieprawidłowej bramy 502.

500 wewnętrzny błąd serwera

Wielki zły chłopiec błędów. Błąd wewnętrzny serwera 500 jest gorszy ze wszystkich, głównie dlatego, że taki jest błąd ogólny. Jeśli nie masz wystarczającej wiedzy na temat tego, jak sobie z tym poradzić, może to być prawdziwy ból, ponieważ może doprowadzić do upadku całej witryny. Błąd zepsutej bramy 502 powoduje również uszkodzenie witryny, ale łatwiej jest ją zdiagnozować i naprawić. Jak wspomniano, prawie zawsze jest to związane z konfiguracją FPM.

Przyczyny błędu wewnętrznego serwera 500 i jak je naprawić

Pierwszą rzeczą do zrozumienia o błędzie 500 jest to, że może być spowodowany przez szereg różnych czynników, które prawie zawsze są związane z błędami w wykonywaniu kodu. Zamiast próbować zdiagnozować wszystko na raz, podam listę błędów według rodzaju problemu i tego, co robiłeś.

  • Migrując starszą witrynę na nowszy hosting
  • Błąd w .htaccess w konfiguracji apache
  • Błąd podczas wykonywania kodu PHP

Istnieją inne rzadsze przypadki, w których może wystąpić błąd wewnętrzny serwera 500, ale ze względu na prostotę i użyteczność tego artykułu skupię się na tych trzech.

1. Migracja starszej witryny na nowszy hosting

Ten błąd może się pojawić na kilka sposobów, ale prawie zawsze wydaje się, że jest powiązany z wersją PHP powiązaną z twoim serwerem WWW. Nowsze wersje PHP mogą generować natychmiastowy błąd wewnętrzny serwera 500, jeśli bieżąca strona lub wtyczki nie obsługują bieżącej wersji.

Ten błąd jest klasyczny, na przykład, gdy migrujesz swoją witrynę z przeciętnego hostingu ze starszą wersją PHP do nowszego hostingu, który akceptuje tylko nowsze wersje (7.0 i nowsze). Jeśli Twoja witryna nie była ostatnio aktualizowana, przyczyną może być stara wtyczka. Nazywam to „błędem wewnętrznego serwera migracji”, ponieważ prawie zawsze zdarza się to podczas migracji witryny.

Rozwiązanie

Najlepszym sposobem na naprawienie tego strasznego błędu, gdy tak bardzo próbujesz zmigrować swoją witrynę WordPress na nowy hosting, jest utworzenie pełnej kopii wtyczki i motyw witryny. Po zrobieniu tego proszę, usuń wszystkie wtyczki ze swojej witryny i spróbuj ponownie. Jeśli błąd zniknie, jest prawie pewne, że błąd został wygenerowany przez nowszą wersję PHP na twoim serwerze, który po prostu odmawia wykonania kodu na starszej wtyczce. Ponownie przesyłając jedną wtyczkę na raz, możesz łatwo dowiedzieć się, która była przyczyną problemu.

Błędy te prawie zawsze pojawiają się podczas migracji starszych witryn działających w PHP 5.4 i 5.6 na nowszy hosting z PHP 7.0, 7.1 lub 7.2.

To samo dotyczy twojego motywu. Ponieważ kompozycje mogą implementować dodatkowy kod PHP w funkcjach.php, single i page.php akta. Najprawdopodobniej starszy motyw bez aktualizacji może zepsuć witrynę po migracji do hostingu z nowszą wersją PHP, sytuacja ta jest niefortunna, ponieważ jedynym sposobem na to jest zmiana motywu i przebudowanie witryny. To jest najgorszy scenariusz.

2. Błąd konfiguracji Apache .htaccess

Załóżmy, że konfigurujesz wtyczkę i nagle wszystko ulega awarii. Jeśli podczas konfigurowania wystąpi błąd wewnętrzny serwera 500, na przykład wtyczka buforująca lub jakakolwiek wtyczka związana z optymalizacjami, musisz sprawdzić, czy wtyczka dodała dodatkowy kod do pliku .htaccess.

Ponieważ apache można modyfikować w czasie rzeczywistym przez skonfigurowanie funkcji w pliku .htaccess (który prawie zawsze jest ukryty) zła konfiguracja może uszkodzić twoją witrynę.

Rozwiązanie

Aby to naprawić, należy uzyskać dostęp do witryny za pośrednictwem FTP i zmodyfikować plik .htaccess lub bezpośrednio edytować, powiedzmy za pomocą eksploratora plików na cPanel lub Plesk.

Jeśli nie wiesz, jak cofnąć to, co zrobiła wtyczka, i potrzebujesz ponownie swojej witryny, zrób kopię istniejącej zawartości jako plik tekstowy. Zapisz to jako kopię zapasową. Następnie zastąp cały plik .htaccess następującym kodem:

# ROZPOCZNIJ WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^ index \ .php $ - [L]
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
RewriteRule. /index.php [L]

# KONIEC WordPress

To jest domyślny WordPress .htaccess plik. Powinien działać z każdą witryną. Jeśli więc jesteś zdesperowany i nie wiesz, którą część usunąć, po prostu usuń wszystko i wklej ten kod. Uratuje cię natychmiast. Możesz później usunąć wtyczkę lub spróbować ją skonfigurować ponownie. Znasz teraz sposób na uratowanie cię przed tym katastrofalnym błędem. Przynajmniej jeśli jest związany z .htaccess.

Jeśli nie wiesz, czy jest to związane z .htaccess lub ten błąd zaczął pojawiać się bez dotykania żadnych wtyczek, zagraj bezpiecznie. Po prostu skopiuj zawartość swojego .htaccess i skopiuj powyższy kod, aby spróbować zdiagnozować. Jeśli to nie rozwiąże problemu, pozostaw .htaccess bez zmian, a następnie wypróbuj następną sugestię.

3. Błąd wykonania kodu PHP

Tego typu błędy są częstsze niż myślisz i zwykle występują, gdy wtyczka wykonuje nieprawidłowy kod. Najczęstszym sposobem wykonania niepoprawnego kodu jest próba wykonania przestarzałych instrukcji. Być może próbujesz uruchomić starą wtyczkę, która została zaprojektowana tylko do pracy z wersją PHP 5.4 lub 5.6 z PHP 7.0 lub nowszymi wersjami. Przestarzałe i nieprawidłowe funkcje utworzy wewnętrzny błąd serwera, który może zostać zdiagnozowany tylko przez włączanie trybu debugowania WP.

Włącz wp_debug

Tryb debugowania WordPress daje szczegółowe informacje na temat błędu, który został zgłoszony, który zatrzymał wykonanie. Włączamy to, zmieniając wartość z „Fałsz” na „prawda” na wp_debug w pliku wp-config.php w folderze głównym witryny.

Jeśli używasz Plesk lub cPanel, możesz to zrobić, po prostu zmieniając tę ​​wartość za pomocą Eksploratora plików i edycji wp-config.php. Możesz również śledzić to przewodnik debugowania przez Blogvault, aby uzyskać bardziej szczegółowe instrukcje.

Po edycji pliku zobaczysz wygenerowany błąd, który zatrzymał wykonywanie. Błąd wskaże także ścieżkę i plik, w którym to się stało, więc łatwo zgadnąć, która wtyczka spowodował to. Przez wyłączając to możemy pominąć błąd, a następnie zaktualizować wtyczkę lub usunąć ją, w zależności od sytuacji.

Rozwiązanie

Zdecydowana większość przypadków 500 wewnętrznego błędu serwera dotyczy starsze wersje motywów lub wtyczki. Przełączając motyw na dowolny standardowy motyw WP, będziesz mógł odzyskać dostęp do swojej witryny. Wyłączenie wtyczek powodujących konflikt zwróci również dostęp do pulpitu nawigacyjnego. Jeśli zdarzy ci się spotkać z sytuacją, w której Twój motyw jest odpowiedzialny za uszkodzenie strony, najlepszym sposobem na to jest utworzenie pliku zip tego motywu z folderu motywu wp-content / themes / yourtheme następnie usuwając go ze swojej witryny. Spowoduje to usunięcie błędu, dzięki czemu będziesz mógł odzyskać dostęp do swojej witryny. Następnie możesz przesłać go ponownie i zaktualizować bez aktywowania. Możesz zrobić to samo z wtyczkami.

Najczęstsze sytuacje dla 500 wewnętrznych błędów serwera można naprawić poprzez aktualizację. W przypadkach, gdy wymieniona wtyczka / motyw nie ma dostępnej aktualizacji, możesz spróbować przejść na starszą wersję PHP. Ale wiedz, że jest to krótkotrwałe obejście. Nowsze wersje PHP stają się stabilne, a starsze są regularnie przestarzałe. Wcześniej czy później Twoja witryna na pewno przestanie działać. Najlepszym rozwiązaniem będzie zawsze aktualizacja lub usunięcie / wymiana danych wtyczek.

Zawsze pamiętaj, lepiej jest zapobiegać i aktualizować niż próbować później kontrolować obrażenia.

Podsumowanie naszego przewodnika po wewnętrznych błędach serwera WordPress 500

Błąd wewnętrzny serwera WordPress 500 może być prawdziwym bólem. Ale w większości przypadków można je łatwo zdiagnozować i naprawić, usuwając / aktualizując sprzeczne części witryny. Chociaż mogą występować sytuacje, w których błędy te pojawiają się poza normą (na przykład podczas opracowywania wtyczki), wykracza to poza cel tego artykułu.

Dla zdecydowanej większości osób postępowanie zgodnie z powyższymi wskazówkami powinno rozwiązać problem. Pamiętaj, że wp-debugowanie jest twoim najlepszym przyjacielem i zawsze postępuj ostrożnie. Szybko wrócisz do trybu online.

Masz jeszcze jakieś pytania? Lub porady dotyczące radzenia sobie z wewnętrznym błędem serwera WordPress 500? Daj mi znać!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map