Tłumaczenie maszynowe

Wszyscy tam byliśmy – witryna, która działała doskonale zaledwie kilka sekund temu, nagle postanawia się dopasować i wypluwa wewnętrzny błąd serwera . Jeśli masz szczęście, administrator WordPress nadal działa, ale w niektórych przypadkach nawet on 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 wprowadzeniem jakichkolwiek zmian – lepiej bezpiecznie niż przykro !

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 informują, że taki istnieje. Wyobraź sobie, że poszedłeś do lekarza i powiedziałeś, że odczuwasz ból, ale odmówiłeś ujawnienia, gdzie był ten ból – bardzo utrudniłoby to lekarzowi leczenie! Na tym polega trudność związana 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 „wewnętrzny błąd serwera” może wprowadzać w błąd, ponieważ w prawie wszystkich przypadkach nie można winić hosta (i / lub serwera). Jeśli spojrzysz na specyfikacje HTTP , zobaczysz, że wewnętrzny błąd serwera oznacza:

Serwer napotkał nieoczekiwany stan, który uniemożliwił mu realizację żądania.

Nie ma nic złego w samym serwerze – po prostu napotkał coś, czego nie może zrozumieć.

Aby dowiedzieć się, co się dzieje, musisz trochę rozwiązać problem, a także przeprowadzić próbę i błąd. Dzięki systematycznemu sprawdzaniu rzeczy, które mogą się nie udać, będziesz w stanie dowiedzieć się, co jest przyczyną problemu, a co ważniejsze, jak go naprawić.

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

Zalecamy wykonanie tych czynności po kolei. Oznacza to, że zacznij od kroku 1 i przejrzyj listę. W kilku sytuacjach powiemy Ci, aby przejść do przodu na podstawie wyników jednego z kroków. Ale ogólnie od góry do dołu!

Poza tym tylko przypomnienie, że zawsze zalecamy wykonanie kopii zapasowej witryny przed wprowadzeniem jakichkolwiek zmian na tej liście. Jeśli nie możesz uzyskać dostępu do pulpitu WordPress w celu użycia wtyczki do tworzenia kopii zapasowych, nadal powinieneś być w stanie utworzyć kopię zapasową za pośrednictwem pulpitu hostingowego – poproś o pomoc swojego hosta, jeśli nie wiesz, jak to zrobić.

A teraz przejdźmy do naprawy…

0. Włącz debugowanie

Pierwszym krokiem powinno być przynajmniej próba zrozumienia błędu – możesz mieć szczęście! W zależności od tego, jak serwer obsługuje błędy, to, co widzisz, może wcale nie być błędem serwera. Zamiast tego może to być błąd w kodzie Twojej witryny ( zazwyczaj jest to kod wtyczki lub motywu ).

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

  1. Pobierz plik (przez FTP ).
  2. Otwórz go (używając edytora tekstu ).
  3. Wyszukaj 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 pliku konfiguracyjnym, utwórz ją, dodając następujący wiersz kodu gdzieś nad linią z napisem /* That's all, stop editing! Happy blogging. */ :

define( "WP_DEBUG", true );

Załaduj ponownie swoją witrynę i zobacz, czy błąd się zmienia. Jeśli tak, a teraz widzisz komunikat o błędzie krytycznym, który wskazuje na określoną linię kodu w określonym pliku, oznacza to, że patrzysz na stosunkowo prosty błąd kodu. Zakładając, że wspomniany błąd pochodzi z wtyczki lub motywu, musisz wyłączyć naruszający produkt i / lub popracować nad samodzielnym rozwiązaniem problemu (lub poprosić kogoś innego, aby się temu przyjrzał, jeśli nie jesteś w stanie ustalić, co się dzieje Twój własny).

Uwaga – po zakończeniu tego kroku pamiętaj, aby zmienić wartość WP_DEBUG 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 stanowi potencjalne zagrożenie bezpieczeństwa.

1. Sprawdź, czy Twój panel WordPress działa

Następnym krokiem jest sprawdzenie, czy możesz uzyskać dostęp do pulpitu nawigacyjnego WordPress w zapleczu.

Odwiedź administratora witryny pod adresem http://yoursite.com/wp-admin/ . Jeśli ta strona ładuje się poprawnie i umożliwia zalogowanie się, możesz być dość pewny, że problem dotyczy wtyczki lub motywu. Jeśli administrator się załaduje, przejdź do kroku drugiego . Jeśli tak się nie stanie, przejdź do kroku czwartego .

2. Wyłącz wszystkie wtyczki

Następnie czas sprawdzić, czy problem pochodzi z wtyczki. Niemal w żaden sposób wtyczka nie może powodować problemów, jeśli jest wyłączona, więc najłatwiejszym sposobem sprawdzenia tego jest wyłączenie wszystkich wtyczek jednocześnie. Nie spowoduje to usunięcia wtyczek ani nie spowoduje utraty żadnych danych ( które nadal są bezpiecznie przechowywane w bazie danych ). To, co zrobi, to zablokowanie działania ich kodu, co rozwiąże problem, jeśli kod wtyczki wywołuje wewnętrzny błąd serwera.

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

  1. Przejdź do obszaru Wtyczki na pulpicie nawigacyjnym WordPress.
  2. Użyj pola wyboru, aby zaznaczyć wszystkie wtyczki.
  3. Skorzystaj z menu rozwijanego Działania zbiorcze , aby je dezaktywować .
  4. Kliknij Zastosuj .

Dezaktywuj wszystkie wtyczki WordPress za pośrednictwem pulpitu nawigacyjnego

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

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

Jak zbiorczo 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 i działa, następnym krokiem jest ustalenie, która wtyczka powoduje problemy.

Aby to zrobić, musisz ponownie aktywować swoje wtyczki jeden po drugim. Kontynuuj sprawdzanie tego wewnętrznego błędu serwera po aktywacji każdej wtyczki. Po znalezieniu winowajcy możesz zdecydować, co z tym zrobić. Najlepszym sposobem postępowania jest wyłączenie wtyczki i natychmiastowe powiadomienie autora. Jeśli jest to wtyczka o znaczeniu krytycznym, prawdopodobnie powinieneś poszukać lepszej, stabilniejszej alternatywy.

Uwaga – jeśli dezaktywowałeś swoje wtyczki przez FTP, musisz zmienić nazwę folderu z powrotem na oryginalną nazwę plugins zanim będziesz mógł rozpocząć reaktywację wtyczek.

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

3. Przełącz na motyw domyślny

Jeśli dezaktywacja wtyczek nie rozwiązała problemu, przyczyną może być również motyw. Możesz to sprawdzić, przełączając się na domyślny motyw WordPress. Zalecamy używanie 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 usunąłeś już domyślny motyw, możesz go ponownie zainstalować z WordPress.org .

Jeśli nie możesz zmienić motywów z pulpitu WordPress, możesz to również zrobić przez FTP, postępując zgodnie z następującymi instrukcjami:

  1. Połącz się z serwerem witryny WordPress przez FTP.
  2. Przejdź do folderu wp-content/themes .
  3. [Opcjonalnie] Jeśli nie masz zainstalowanego motywu Twenty Twenty, możesz go zainstalować, przesyłając folder motywu pobrany ze strony WordPress.org ( pamiętaj, aby rozpakować plik ZIP przed przesłaniem folderu ).
  4. Zmień nazwę folderu aktualnego motywu na [theme-name]-deactivated .

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

Jeśli przejście na Twenty Twenty rozwiąże problem, możesz ponownie włączyć wszystkie wtyczki i zabrać się do znalezienia problemu w kodzie motywu.

Jeśli Twój motyw pochodzi z oficjalnego repozytorium motywów lub niezależnego sklepu z motywami, jak najszybciej poinformuj o tym autora. Jeśli z drugiej strony jest to Twój własny motyw, musisz poprosić programistę o pomoc, ponieważ te błędy mogą być często bardzo trudne do znalezienia – nawet dla doświadczonych programistów.

W niektórych bardzo rzadkich przypadkach uruchomienie starego oprogramowania, takiego jak PHP 5.3, może powodować problemy. Zanim spędzisz godziny na próbach znalezienia błędu lub zapłacisz setki dolarów programistom, spójrz na krok siódmy .

4. Zwiększ swój limit pamięci

Jeśli Twoja witryna zużywa zbyt dużo pamięci, na pewno będzie pasować – prawdopodobnie powodując wewnętrzny błąd serwera 500. W wielu przypadkach jest to oznaka ź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 to.

Istnieje kilka sposobów na zwiększenie limitu:

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

Wszystkie te pliki musisz 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ć:

plik wp-config.php

Dodaj następujący fragment kodu nad linią z napisem /* That's all, stop editing! Happy blogging. */ :

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

PHP.ini

Znajdź wiersz o treści memory_limit = [number]M i zmień liczbę na 256 . Na przykład memory_limit = 256M .

Plik .htaccess

Dodaj następujący wiersz:

php_value memory_limit 256M

Możesz też porozmawiać z gospodarzem, aby uzyskać bardziej szczegółowe instrukcje – niektórzy z przyjemnością zwiększą limit pamięci bez prawie żadnego zamieszania z Twojej strony.

5. Problemy z debugowaniem .htaccess

Jeśli Twój host korzysta z serwera Apache (co robi większość hostów WordPress, zwłaszcza jeśli chodzi o budżet), plik .htaccess jest plikiem konfiguracyjnym, który umożliwia pewne stosunkowo zaawansowane funkcje. Używając go, możesz włączyć kompresję gzip , zmienić maksymalny rozmiar wysyłania, skonfigurować przekierowania i zrobić wiele innych przydatnych rzeczy. WordPress używa również tego pliku do zarządzania między innymi linkami bezpośrednimi Twojej witryny.

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

Istnieje prosty sposób sprawdzenia, czy ten plik zawiera 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 swój komputer.
  3. Po utworzeniu kopii zapasowej oryginalnego pliku usuń kopię pliku .htaccess znajdującą się na serwerze.

Jeśli Twoja witryna wróci do trybu online, problem dotyczy pliku .htaccess . Jeśli nie masz żadnych niestandardowych reguł .htaccess (np. Niestandardowych przekierowań), możesz zmusić WordPress do wygenerowania nowego pliku .htaccess , przechodząc do Ustawienia -> Permalinki i klikając Zapisz (nie musisz zmieniać żadnych ustawień – po prostu kliknij przycisk Zapisz z istniejącymi ustawieniami).

Jeśli masz niestandardowe reguły, możesz przeglądać plik .htaccess wiersz po wierszu, aby zobaczyć, kiedy witryna przestaje działać. Gdy znajdziesz obraźliwą linię, upewnij się, że nie ma w niej zbędnego tekstu (może to być niezamknięty cytat lub coś podobnego). Jeśli nie możesz znaleźć problemu, prawdopodobnie będziesz chciał po prostu usunąć linię. Całkowite wyłączenie witryny jest znacznie gorsze niż brakujący wiersz .htaccess – zapytaj na forach, czy potrzebujesz więcej pomocy.

Aby zaoszczędzić czas, możesz również skorzystać z tego bezpłatnego narzędzia do sprawdzania składni .htaccess , który może automatycznie wykryć wiele błędów / literówek niskiego poziomu.

6. Zainstaluj ponownie WordPress

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

Oto jak ponownie zainstalować podstawowe pliki WordPress:

  1. Pobierz nową kopię WordPress ze strony 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 dobrze jest go dokładnie sprawdzić!
  4. Połącz się ze swoim 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

7. Sprawdź, czy nie ma problemów z wersją PHP

Podczas gdy stare wersje PHP zwykle nie powodują wewnętrznego błędu serwera, warto porozmawiać z hostem i poprosić go o udostępnienie nowszej wersji, zanim wydasz cenny czas i pieniądze. PHP 7 wycofał niektóre poprzednie funkcje – na przykład wtyczka może używać funkcji niedostępnej w starszych wersjach PHP i tak dalej.

Zapytaj swojego hosta, jakiej wersji PHP używasz. Od września 2020 r. PHP 5.6 nie otrzymuje już żadnych aktualizacji (nawet podstawowego wsparcia bezpieczeństwa) – nie akceptuj go, jeśli Twój host obsługuje Twoją witrynę na tak starej wersji. Powinieneś mieć przynajmniej uruchomioną wersję PHP 7. Idealnie byłoby, gdybyś korzystał z PHP 7.3+, ponieważ PHP 7.0 również nie otrzymuje już aktualizacji, a nawet PHP 7.2 przestanie otrzymywać poprawki bezpieczeństwa pod koniec 2020 roku.

Nic nie działa? Testuj problemy złożone

Chociaż jest mało prawdopodobne, że wystąpią dwa problemy naraz, może się to zdarzyć. Być może masz wtyczkę, która powoduje problem, a także problem z rozszerzeniem .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 jedno i drugie.

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

Dzięki próbom i błędom będziesz w stanie odkryć kombinację problemów, które powodują problemy.

Sfrustrowany popełnianiem błędów? Wypróbuj zarządzany hosting WordPress

Jak widać, rozwiązywanie typowych błędów WordPress, takich jak wewnętrzny błąd serwera 500, wymaga dużo pracy. Jeśli nie chcesz samodzielnie zajmować się tymi problemami (i jesteś skłonny zapłacić trochę więcej za wygodę), przeniesienie witryny do zarządzanego hostingu WordPress może być dobrą decyzją.

Dzięki wysokiej jakości zarządzanemu hostowi WordPress host będzie aktywnie monitorował tego typu błędy i naprawiał je, aby Twoja witryna działała. Na przykład pracownicy pomocy technicznej w Kinsta , jednym z naszych zalecanych zarządzanych hostów WordPress , automatycznie otrzymują powiadomienia, jeśli Twoja witryna nie działa z powodu wewnętrznego błędu serwera. Ponadto, ponieważ te hosty oferują więcej produktów premium, ich personel pomocy technicznej będzie bardziej skłonny zainwestować czas w rozwiązywanie problemu za Ciebie.

Oczywiście wadą jest to, że na pewno zapłacisz nieco więcej niż za tani hosting współdzielony. Zazwyczaj hosting WordPress z zarządzaniem jakością zaczyna się od około 30 USD miesięcznie. Jeśli jednak cenisz sobie spokój ducha, ta cena może być tego warta, zwłaszcza w przypadku witryny firmowej, w której przestoje oznaczają utratę przychodów.

Końcowe przemyślenia

Ze względu na niejasność komunikatu o błędzie serwera wewnętrznego jego rozwiązanie może być trudne, ale wykonując powyższe kroki, powinieneś w końcu dowiedzieć się, co się dzieje.

Jeśli nadal nie możesz rozwiązać problemu, skontaktuj się ze swoim gospodarzem. Podaj link do tego artykułu i daj im znać, że wykonałeś te czynności, ponieważ docenią wysiłek i będą w stanie zlokalizować problem znacznie szybciej!

Tłumaczenie maszynowe, źródło: WinningWP

Podobne