Naprawianie przerażającego „wewnętrznego błędu serwera” w WordPress (2021)

Tagi-errors, intermediate, internal server error
  • autor: Colin Newcomer
  • Ostatnia aktualizacja: Marzec 26, 2021
oferty WordPress

wszyscy tam byliśmy-Witryna, która jeszcze kilka sekund temu działała doskonale, nagle postanawia wyrzucić fit i wypluwa wewnętrzny błąd serwera. Jeśli masz szczęście, administrator WordPress nadal działa, ale w niektórych przypadkach nawet to może odmówić współpracy. W tym artykule wyjaśnimy, czym jest wewnętrzny błąd serwera i, co ważniejsze, jak go naprawić.

ważne: zawsze wykonuj pełną kopię zapasową swojej witryny (nawet jeśli nie działa tak, jak powinna) przed dokonaniem jakichkolwiek zmian-lepiej zabezpieczyć się niż przepraszać!

do roboty.

Co To jest Wewnętrzny błąd serwera?

wewnętrzne błędy serwera są irytujące zarówno dla użytkowników, jak i programistów, ponieważ nie dostarczają żadnych informacji o źródle problemu — po prostu mówią, że jest jeden. Wyobraź sobie, że pójdziesz do lekarza i powiesz, że czujesz ból, ale odmówisz ujawnienia, gdzie jest ten ból — bardzo utrudniłoby to lekarzowi leczenie! To jest trudność z wewnętrznym błędem serwera — nie ma wskazania, skąd pochodzi problem.

 Wewnętrzny błąd serwera

(Kliknij, aby powiększyć)

co więcej, Nazwa 'internal server error’ może być myląca, ponieważ w prawie wszystkich przypadkach Twój host (i/lub serwer) nie jest winny. Jeśli spojrzysz na specyfikacje HTTP, zobaczysz, że wewnętrzny błąd serwera oznacza następujące rzeczy:

serwer napotkał nieoczekiwany warunek, który uniemożliwił mu spełnienie żądania.

nie ma nic złego w samym serwerze-po prostu napotkał coś, czego nie może rozgryźć.

aby dowiedzieć się, co się dzieje, musisz zrobić małe rozwiązywanie problemów i prób i błędów. Poprzez systematyczne przechodzenie przez rzeczy, które mogą się nie udać, będziesz w stanie dowiedzieć się, co jest przyczyną problemu i, co ważniejsze, jak go naprawić.

jak naprawić Wewnętrzny błąd serwera WordPress 500

zalecamy wykonanie tych kroków w kolejności. Oznacza to, że zacznij od kroku # 1 i pracuj nad listą. W kilku sytuacjach powiemy ci, aby przejść do przodu na podstawie wyników jednego z kroków. Ale ogólnie rzecz biorąc, idź od góry do dołu!

poza tym, tylko przypomnienie, że zawsze zalecamy tworzenie kopii zapasowej witryny przed dokonaniem jakichkolwiek zmian na tej liście. Jeśli nie możesz uzyskać dostępu do pulpitu WordPress, aby użyć wtyczki do tworzenia kopii zapasowych, nadal powinieneś być w stanie utworzyć kopię zapasową za pośrednictwem Pulpitu hostingowego — poproś wsparcie swojego hosta o pomoc, jeśli nie wiesz, w jaki sposób.

teraz przejdźmy do naprawy …

Włącz debugowanie

pierwszym krokiem powinno być przynajmniej spróbowanie zrozumieć błąd — możesz mieć szczęście! W zależności od tego, jak serwer radzi sobie z błędami, to, co widzisz, może wcale nie być błędem serwera. Zamiast tego może to być błąd w kodzie witryny (zazwyczaj kod wtyczki lub motywu).

aby sprawdzić, czy tak jest, musisz edytować plik wp-config.php w katalogu głównym Twojej witryny:

  1. Pobierz Plik (przez FTP).
  2. Otwórz go (za pomocą edytora tekstu).
  3. Szukaj WP_DEBUG.

jeśli linia już istnieje, Zmień false na true i ponownie prześlij plik na serwer.

Jeśli tej linii nie ma w Twoim pliku konfiguracyjnym, utwórz ją, dodając następującą linię kodu gdzieś nad linią, która mówi /* That's all, stop editing! Happy blogging. */:

define( "WP_DEBUG", true );

załaduj ponownie swoją witrynę i zobacz, czy błąd się zmieni. Jeśli tak, a teraz widzisz komunikat „Błąd krytyczny”, który wskazuje na konkretną linię kodu w określonym pliku, to patrzysz na stosunkowo prosty błąd kodu. Zakładając, że wspomniany błąd pochodzi z wtyczki lub motywu, musisz wyłączyć produkt obrażający i/lub pracować nad naprawieniem problemu samodzielnie (lub niech ktoś inny rzuci na niego okiem, jeśli nie jesteś w stanie samodzielnie ustalić, co się dzieje).

Uwaga: Po zakończeniu tego kroku należy zmienić wartość WP_DEBUG z powrotem na false, aby przypadkowo nie pozostawić włączonego trybu debugowania. Domyślnie wyświetla komunikaty debugowania w całej witrynie, co jest mylące dla odwiedzających i potencjalne zagrożenie bezpieczeństwa.

sprawdź, czy twój Pulpit Nawigacyjny WordPress działa

następnym krokiem jest sprawdzenie, czy możesz uzyskać dostęp do Pulpitu nawigacyjnego WordPress.

odwiedź Stronę admin pod adresem http://yoursite.com/wp-admin/. Jeśli ta strona ładuje się poprawnie i pozwala się zalogować, możesz być pewien, że problem dotyczy wtyczki lub motywu. Jeśli administrator się załaduje, przejdź do kroku drugiego. Jeśli nie, przejdź do kroku czwartego.

Wyłącz wszystkie wtyczki

Następnie nadszedł czas, aby sprawdzić, czy problem pochodzi z wtyczki. Nie ma prawie żadnego sposobu, aby wtyczka mogła powodować problemy, jeśli jest wyłączona, więc najprostszym sposobem na przetestowanie tego jest wyłączenie wszystkich wtyczek na raz. To nie usunie wtyczek, ani nie spowoduje utraty żadnych danych (które są nadal bezpiecznie przechowywane w bazie danych). To, co zrobi, to wyłączy ich kod z działania, co naprawi problem, jeśli kod wtyczki wyzwala wewnętrzny błąd serwera.

jeśli pulpit nawigacyjny WordPress działa poprawnie, możesz wyłączyć wtyczki, wykonując następujące kroki:

  1. przejdź do obszaru wtyczek na pulpicie nawigacyjnym WordPress.
  2. użyj pola wyboru, aby zaznaczyć wszystkie wtyczki.
  3. Użyj listy rozwijanej akcje zbiorcze, aby je dezaktywować.
  4. Kliknij Zastosuj.

Dezaktywuj wszystkie wtyczki WordPress za pomocą Pulpitu nawigacyjnego

jeśli z jakiegoś powodu nie możesz dezaktywować wtyczek za pośrednictwem Pulpitu nawigacyjnego, możesz je również dezaktywować za pośrednictwem FTP, postępując zgodnie z tymi instrukcjami:

  1. Połącz się z serwerem witryny WordPress przez FTP.
  2. przejdź do folderu wp-content.
  3. Zmień nazwę folderu plugins na plugins-deactivated.

jak masowo dezaktywować wtyczki przez FTP

jeśli wyłączyłeś wszystkie wtyczki, a witryna nadal się nie ładuje, przejdź do kroku trzeciego.

jeśli Twoja witryna jest uruchomiona, następnym krokiem jest ustalenie, która konkretna wtyczka powoduje problemy.

aby to zrobić, musisz ponownie aktywować wtyczki jeden po drugim. Sprawdzaj ten wewnętrzny błąd serwera po aktywacji każdej wtyczki. Kiedy znajdziesz sprawcę, możesz zdecydować, co z nim zrobić. Najlepszym sposobem działania jest wyłączenie wtyczki i natychmiastowe powiadomienie autora. Jeśli jest to wtyczka o krytycznym znaczeniu, prawdopodobnie powinieneś poszukać lepszej, bardziej stabilnej alternatywy.

Uwaga: jeśli wyłączyłeś wtyczki za pośrednictwem FTP, musisz zmienić nazwę folderu z powrotem na oryginalną nazwę plugins, zanim będziesz mógł rozpocząć reaktywację wtyczek.

w bardzo rzadkich przypadkach uruchamianie starego oprogramowania, takiego jak PHP 5.3, może powodować problemy. Przed zastąpieniem wtyczki, która okazała się do tej pory godna zaufania, spójrz na krok siódmy.

przełącz się na domyślny motyw

jeśli dezaktywacja wtyczek nie rozwiąże problemu, Twój motyw może być również sprawcą. Możesz to sprawdzić, przełączając się na domyślny motyw WordPress. Zalecamy użycie Twenty Twenty, który jest najnowszym domyślnym motywem.

jeśli nadal możesz zarządzać motywami z pulpitu WordPress, możesz to zrobić, przechodząc do Wygląd -> motywy. Jeśli już usunąłeś domyślny motyw, możesz go ponownie zainstalować z WordPress.org.

jeśli nie możesz przełączyć motywów z pulpitu WordPress, możesz to również wykonać za pośrednictwem FTP, postępując zgodnie z tymi instrukcjami:

  1. Połącz się z serwerem witryny WordPress przez FTP.
  2. przejdź do folderu wp-content/themes.
  3. jeśli nie masz zainstalowanego motywu Twenty Twenty, możesz go zainstalować, przesyłając folder motywu, który pobierzesz z WordPress.org (przed przesłaniem folderu należy rozpakować plik ZIP).
  4. Zmień nazwę folderu bieżącego motywu na -deactivated.

po zmianie nazwy folderu aktywnego motywu WordPress automatycznie powróci do domyślnego motywu (o ile domyślny motyw jest zainstalowany).

jeśli przełączenie na Twenty Twenty rozwiązuje problem, możesz ponownie włączyć wszystkie wtyczki i zacząć pracę, znajdując problem w kodzie motywu.

jeśli twój motyw pochodzi z oficjalnego repozytorium motywów lub niezależnego sklepu z motywami, powinieneś poinformować o tym autora tak szybko, jak to możliwe. Z drugiej strony, jeśli jest to twój własny motyw, musisz poprosić programistę, aby ci pomógł, ponieważ te błędy często mogą być bardzo trudne do znalezienia-nawet dla doświadczonych programistów.

w bardzo rzadkich przypadkach uruchamianie starego oprogramowania, takiego jak PHP 5.3, może powodować problemy. Zanim poświęcisz wiele godzin na znalezienie błędu lub zapłacisz deweloperowi setki dolarów, zapoznaj się z krokiem siódmym.

zwiększ Limit pamięci

jeśli Twoja strona używa zbyt dużej ilości pamięci, na pewno rzuci fit — całkiem możliwe, że spowoduje to wewnętrzny błąd serwera 500. W wielu przypadkach jest to znak źle zakodowanego motywu lub wtyczki. Można temu szybko zaradzić, zwiększając limit pamięci, ale nie jest to pewny sposób rozwiązania problemu i nie dotrze do jego źródła.

Możesz spróbować ręcznie zwiększyć limit pamięci. Należy jednak pamiętać, że serwer lub konto może mieć przydzieloną określoną ilość pamięci i nie będzie można zwiększyć limitu pamięci poza tym.

istnieje kilka sposobów na zwiększenie limitu:

  • wp-config.php plik
  • PHP.ini plik (jeśli masz dostęp-możesz nie)
  • .htaccess plik

w przypadku wszystkich tych plików musisz je edytować, łącząc się z serwerem przez FTP i dodając fragment kodu (lub zmieniając wartość istniejącego fragmentu kodu, jeśli fragment już istnieje). Oto co dodać:

wp-config.plik php

Dodaj następujący fragment kodu nad linią, która mówi /* That's all, stop editing! Happy blogging. */:

define('WP_MEMORY_LIMIT', '256M');

PHP.ini

znajdź linię, która mówi memory_limit = M i zmień numer na 256. Na przykład memory_limit = 256M.

.plik htaccess

dodaj następującą linię:

php_value memory_limit 256M

alternatywnie porozmawiaj z gospodarzem, aby uzyskać bardziej szczegółowe instrukcje — niektórzy z przyjemnością zwiększą limit pamięci bez zamieszania z twojej strony.

debugowanie .problemy z htaccess

jeśli twój host korzysta z serwera Apache (co robi większość hostów WordPress, zwłaszcza na końcu budżetu), plik .htaccess jest plikiem konfiguracyjnym, który umożliwia pewne stosunkowo zaawansowane funkcje. Za jego pomocą możesz włączyć kompresję gzip, zmienić maksymalny rozmiar przesyłania, skonfigurować przekierowania i robić wiele innych przydatnych rzeczy. WordPress używa również tego pliku do zarządzania permalinkami witryny, między innymi.

napisaliśmy już poradnik jak edytowaćplik htaccess, ale warto przypomnieć, że jest to obszar wrażliwy, który wymaga ostrożności. Literówka, zapomniane miejsce lub niezamknięty cytat, na przykład, mogą łatwo spowodować wewnętrzny błąd serwera 500, niszcząc Twoją witrynę — w tym administratora — do zatrzymania.

jest prosty sposób, aby sprawdzić, czy ten plik ma błędy:

  1. Połącz się z serwerem przez FTP i znajdź plik .htaccess, który znajduje się w folderze głównym.
  2. Utwórz kopię zapasową istniejącego pliku, pobierając go na komputer.
  3. po utworzeniu kopii zapasowej oryginalnego pliku Usuń kopię .htaccess znajdującą się na serwerze.

jeśli Twoja strona wróci do trybu online, problem dotyczy Twojego pliku .htaccess. Jeśli nie masz żadnych niestandardowych reguł .htaccess (np. niestandardowe przekierowania), możesz zmusić WordPressa do wygenerowania nowego pliku .htaccess, przechodząc do ustawień -> Permalinks i klikając Zapisz (nie musisz zmieniać żadnych ustawień — wystarczy kliknąć przycisk Zapisz z istniejącymi ustawieniami).

jeśli masz niestandardowe reguły, możesz przejść przez plik .htaccess wiersz po wierszu, aby zobaczyć, kiedy witryna przestanie działać. Po znalezieniu obraźliwego wiersza upewnij się, że nie ma w nim żadnego niepotrzebnego tekstu (być może nieujawnionego cytatu lub czegoś podobnego). Jeśli nie możesz znaleźć problemu, prawdopodobnie po prostu chcesz usunąć linię. Twoja strona jest całkowicie wyłączona jest o wiele gorsza niż brakująca linia .htaccess – popytaj na forach, jeśli potrzebujesz więcej pomocy.

aby zaoszczędzić czas, możesz również użyć tego bezpłatnego .sprawdzanie składni htaccess, które może automatycznie wychwytywać wiele niskopoziomowych błędów/literówek.

Zainstaluj ponownie WordPress

jest to niezwykle rzadkie, ale możesz mieć uszkodzone pliki w rdzeniu WordPress. Nie ma się czym martwić – na przykład, gdy serwer kopiował wymagane pliki, coś mogło pójść nie tak. Ponowne przesłanie plików podstawowych WordPress może rozwiązać problem.

oto jak ponownie zainstalować Podstawowe pliki WordPress:

  1. Pobierz świeżą kopię WordPressa z WordPress.org.
  2. rozpakuj plik ZIP.
  3. Usuń folder wp-content i plik wp-config-sample.php. Upewnij się również, że nie ma pliku wp-config.php (i usuń go, jeśli istnieje). Tego pliku nie powinno tam być, ale zawsze warto sprawdzić jeszcze raz!
  4. Połącz się z serwerem przez FTP.
  5. Prześlij pozostałe pliki i foldery do folderu głównego.
  6. po wyświetleniu monitu przez program FTP powiedz mu, aby nadpisał wszystkie pliki.

jak poprawnie ponownie przesłać Podstawowe pliki WordPress

Sprawdź problemy z wersją PHP

chociaż stare wersje PHP zwykle nie powodują wewnętrznego błędu serwera, warto porozmawiać z gospodarzem i poprosić go o nowszą wersję przed wydaniem cennego czasu i pieniędzy. PHP 7 ma przestarzałe niektóre poprzednie funkcje-na przykład wtyczka może korzystać z funkcji, która nie jest dostępna w starszych wersjach PHP i tak dalej.

zapytaj swojego hosta, jaką wersję PHP używasz. Od września 2020 r. PHP 5.6 nie otrzymuje już żadnych aktualizacji — nawet podstawowej obsługi zabezpieczeń) – nie Akceptuj tego, jeśli twój host uruchamia Twoją witrynę na tak starej wersji. Powinieneś mieć przynajmniej jakiś wariant PHP 7. W idealnym przypadku będziesz chciał korzystać z PHP 7.3+, ponieważ PHP 7.0 nie otrzymuje już aktualizacji, a nawet PHP 7.2 przestanie otrzymywać poprawki zabezpieczeń pod koniec 2020 roku.

Nic Nie Działa? Testuj problemy złożone

chociaż jest mało prawdopodobne, że będziesz miał dwa problemy na raz, może się zdarzyć. Możesz mieć wtyczkę, która powoduje problem, a także problem .htaccess. W takim przypadku problem nie zostanie rozwiązany po wyłączeniu wszystkich wtyczek i nie zostanie rozwiązany, jeśli usuniesz plik .htaccess — tylko jeśli zrobisz oba.

jeśli wykonałeś te kroki i nadal otrzymujesz wewnętrzny błąd serwera 500, powinieneś zacząć od nowa i upewnić się, że nie cofasz żadnych zmian. Wyłącz wtyczki, Zmień motyw na Twenty Twenty i tak dalej.

metodą prób i błędów będziesz w stanie odkryć kombinację problemów, które powodują problemy.

Sfrustrowany Radzeniem Sobie Z Błędami? Wypróbuj zarządzany Hosting WordPress

jak widać, wiele pracy poświęca się rozwiązywaniu typowych błędów WordPress, takich jak wewnętrzny błąd serwera 500. Jeśli nie chcesz samodzielnie radzić sobie z tymi problemami (i jesteś gotów zapłacić trochę więcej dla wygody), przeniesienie witryny do zarządzanego hostingu WordPress może być dobrą decyzją.

wysokiej jakości zarządzany host WordPress będzie aktywnie monitorować tego typu błędy i naprawiać je, aby Twoja witryna działała. Na przykład personel pomocniczy w Kinsta, jednym z naszych zalecanych zarządzanych hostów WordPress, automatycznie otrzymuje powiadomienia, jeśli Twoja witryna jest wyłączona z powodu wewnętrznego błędu serwera. Dodatkowo, ponieważ hosty te oferują więcej produktów premium, ich personel pomocniczy będzie bardziej skłonny zainwestować czas w rozwiązanie problemu.

oczywiście minusem jest to, że na pewno zapłacisz nieco więcej niż za tani hosting współdzielony. Zazwyczaj jakość zarządzanego hosta WordPress zaczyna się od około 30 miesięcznie. Mimo to, jeśli cenisz spokój ducha, ta cena może być tego warta, zwłaszcza w przypadku witryny biznesowej, w której przestoje oznaczają utracone przychody.

myśli końcowe

z powodu niejasności wewnętrznego Komunikatu o błędzie serwera rozwiązanie go może być trudne, ale wykonując powyższe kroki, powinieneś być w stanie ostatecznie dowiedzieć się, co idzie nie tak.

jeśli nadal nie możesz rozwiązać problemu, skontaktuj się z gospodarzem. Link do tego artykułu i daj im znać, że wypróbowałeś te kroki, ponieważ docenią wysiłek i będą w stanie zlokalizować problem o wiele szybciej!

widziałeś jakieś przypadki edge lub wręcz dziwne rzeczy dziejące się w związku z tym błędem? Daj nam znać w komentarzach!

autor: Colin Newcomer

Colin Newcomer jest niezależnym pisarzem i wieloletnim marketerem internetowym. Specjalizuje się w marketingu cyfrowym i WordPress. Prowadzi niebezpieczne życie, jeżdżąc na skuterze przez chaos Hanoi.