Wewnętrzny błąd serwera HTTP 500: jak to naprawić w WordPress

Opublikowany: 2024-05-06

Natrafienie na „500 wewnętrznych błędów serwera” może być frustrujące, ponieważ tak naprawdę nie informuje, co poszło nie tak.

Znany również jako „błąd http 500”, może być spowodowany kilkoma czynnikami, takimi jak konflikty między wtyczkami lub motywami WordPress, osiągnięcie limitu pamięci PHP, uszkodzony plik .htaccess , błędna konfiguracja serwera lub nieprawidłowe uprawnienia do plików i katalogów, m.in. inne powody.

W tym artykule pomogę Ci określić dokładną przyczynę błędu w witrynie WordPress i poprowadzę Cię przez proces jego naprawienia.

Typowe przyczyny wewnętrznego błędu serwera 500

Podstawowe definicje:

  • „HTTP” odnosi się do protokołu używanego do komunikacji pomiędzy klientem (Twoją przeglądarką) a serwerem internetowym.
  • „500” to kod stanu wskazujący wewnętrzny błąd serwera .

Zatem „wewnętrzny błąd serwera HTTP 500” jako całość wskazuje, że coś nieoczekiwanego poszło nie tak podczas komunikacji między przeglądarką a serwerem internetowym i że problem pochodzi po stronie serwera. Prawdopodobnie jednak z Twoim serwerem nie dzieje się nic złego, więc nie martw się.

Jeśli chodzi o prawdziwą przyczynę błędu, mógł on wystąpić z powodu jednego z następujących problemów:

  • Źle zakodowane wtyczki lub motywy mogą powodować konflikty z innymi wtyczkami i motywami, powodując błąd;
  • Wyczerpanie limitu pamięci PHP powoduje przedwczesne zakończenie operacji wymagających dużych zasobów;
  • Uszkodzony plik .htaccess , główny plik WordPress, z powodu nieprawidłowej konfiguracji lub błędów składni może zakłócić zdolność serwera do prawidłowego przetwarzania żądań, co prowadzi do błędu 500;
  • Zmienione uprawnienia do plików mogą spowodować, że serwer napotka problemy z dostępem do plików lub katalogów niezbędnych do realizacji żądania, co spowoduje wystąpienie błędu.
  • W rzadkich przypadkach niezgodność przeglądarki może spowodować normalne otwarcie witryny w jednej przeglądarce i wyświetlenie błędów w innej.

Teraz, gdy mamy już za sobą typowe przyczyny, przyjrzyjmy się najlepszym sposobom pozbycia się tego błędu:

Jak naprawić wewnętrzny błąd serwera 500 w Twojej witrynie

Radzenie sobie z wewnętrznym błędem serwera w Twojej witrynie to z pewnością przepis na zły dzień, ale mamy nadzieję, że wspólnie naprawimy go w mgnieniu oka!

Oto jak pozbyć się błędu, jeśli napotkałeś go na własnej stronie internetowej (z systemem WordPress):

1. Wyczyść pamięć podręczną przeglądarki

Buforowanie to proces przechowywania danych witryny internetowej w przeglądarce użytkownika w celu szybszego dostępu. Pobierając najczęściej odwiedzane dane witryny i umieszczając je w pamięci podręcznej, kolejne wizyty na stronie mogą ominąć niektóre czasochłonne procesy, takie jak pobieranie danych z serwera czy renderowanie skomplikowanych elementów strony. Skutkuje to większą szybkością ładowania strony i lepszym doświadczeniem użytkownika.

Największą wadą buforowania jest to, że może spowodować wyświetlanie odwiedzającym nieaktualnych treści. Zatem błąd 500 wyświetlany w przeglądanej witrynie może oznaczać wersję witryny zapisaną w pamięci podręcznej. Błąd mógł mieć charakter tymczasowy i mógł zostać automatycznie usunięty.

Właśnie dlatego wyczyszczenie pamięci podręcznej przeglądarki jest najłatwiejszym i często najskuteczniejszym krokiem w celu „naprawienia” wewnętrznego błędu serwera 500. Mówię „naprawianie ” w cudzysłowie, ponieważ tak naprawdę tego nie naprawiasz – po prostu odświeżasz własną przeglądarkę, aby móc uzyskać dostęp do witryny bez błędu.

Oto jak wyczyścić pamięć podręczną w najpopularniejszych przeglądarkach internetowych.

czyszczenie pamięci podręcznej Google

2. Sprawdź dziennik debugowania

Dziennik debugowania to wbudowane narzędzie WordPress, które zawiera szczegółowe informacje o błędach i ostrzeżeniach występujących na stronie WordPress.

Dziennik debugowania Twojej witryny powinien zawierać szczegółowe informacje na temat „wewnętrznego błędu serwera HTTP 500” i może wskazywać źródło błędu. Znajomość przyczyny to połowa wygranej bitwy.

Domyślnie dziennik debugowania WordPressa jest wyłączony, aby zapobiec wyświetlaniu potencjalnie wrażliwych informacji odwiedzającym. Najpierw musisz go włączyć.

Ponieważ w Twojej witrynie wyświetlany jest wewnętrzny błąd serwera, prawdopodobnie nie będziesz mieć dostępu do pulpitu nawigacyjnego WordPress. Dlatego będziesz musiał przejść do zaplecza swojej witryny, aby wstawić fragment kodu do pliku wp-config.php i włączyć dziennik debugowania.

Możesz to zrobić, łącząc się ze swoją witryną za pośrednictwem FTP lub konta hostingowego. Aby korzystać z protokołu FTP, przeczytaj ten przewodnik. Poniżej pokażę Ci jak korzystać z narzędzi dostępnych na Twoim koncie hostingowym.

Zaloguj się na swój profil/konto hostingowe i poszukaj linku do cPanel – to panel zarządzania hostingiem, z którego korzysta większość hostingów. Tam przejdź do Menedżera plików :

menedżer plików cpanel namecheap

W Menedżerze plików wybierz folder public_html , a następnie zlokalizuj plik wp-config .php .

Kliknij plik prawym przyciskiem myszy i wybierz opcję Edytuj . Plik otworzy się na innej stronie.

edytuj plik wpconfile w menedżerze plików

Przewiń w dół do końca pliku konfiguracyjnego i wklej następujący kod tuż przed tą linią: /* That's all, stop editing! Happy blogging. */ /* That's all, stop editing! Happy blogging. */ /* That's all, stop editing! Happy blogging. */ :

 define( 'WP_DEBUG', true); define( 'WP_DEBUG_LOG', true);

Zapisz zmiany i zamknij plik.

Następnie przejdź do public_html → wp-content → debug.log .

Otwórz plik klikając prawym przyciskiem myszy i wybierając opcję Otwórz .

Poszukaj rekordu wewnętrznego błędu serwera 500 i przeczytaj szczegóły błędu.

Jeśli znalazłeś prawdziwą przyczynę, przejdź do odpowiedniego rozwiązania w poniższych sekcjach. Jeśli nie, to mimo wszystko zacznij wdrażać poniższe rozwiązania, jedno po drugim.

3. Dezaktywuj wtyczki

Otwórz swoje konto hostingowe i przejdź do cPanel → Menedżer plików → public_html → wp-content → wtyczki .

Kliknij prawym przyciskiem myszy folder wtyczek, wybierz Zmień nazwę i zmień nazwę folderu na „plugins-off ”. Spowoduje to dezaktywację wszystkich wtyczek.

zmień nazwę menedżera plików folderu wtyczek - wewnętrzny błąd serwera http 500

Dezaktywacja pomoże sprawdzić, czy przyczyną błędu był konflikt wtyczek. Jeśli nie widzisz już błędu na swojej stronie, potwierdza to teorię konfliktu wtyczek.

Następnie powróć do oryginalnej nazwy folderu, aby ponownie aktywować wszystkie wtyczki. Spowoduje to powrót błędu. Nie martw się.

Otwórz folder wtyczek i zacznij dezaktywować wtyczki jedna po drugiej – zmień nazwę każdego folderu wtyczek indywidualnie. Za każdym razem, gdy dezaktywujesz wtyczkę, sprawdź, czy błąd zniknął. W pewnym momencie błąd zostanie usunięty i będziesz wiedzieć, że przyczyną była wtyczka, którą właśnie dezaktywowałeś.

Usuń tę wtyczkę, klikając prawym przyciskiem myszy folder wtyczki i wybierając opcję Usuń .

4. Dezaktywuj motyw

Aby dezaktywować bieżący motyw, musisz przełączyć się na inny. Sugeruję przejście na domyślny motyw WordPress, który powinieneś już mieć na swojej stronie – prawdopodobnie jest tam po prostu wyłączony.

Aby to zrobić, połącz się z bazą danych za pomocą phpMyAdmin (lub innego narzędzia, którego używa Twój host) z panelu sterowania hostingu. Gdy już tam będziesz, wybierz bazę danych WordPress i znajdź tabelę wp_options (może mieć inny przedrostek) w menu po prawej stronie.

Tabela opcji wp.

Otwórz tabelę i kliknij Szukaj w menu nawigacyjnym u góry ekranu. Wpisz „ szablon ” w polu Wartość odpowiadającym kolumnie nazwa_opcji i kliknij przycisk Przejdź .

Wyszukiwanie wpisu w tabeli bazy danych.

Spowoduje to zwrócenie pojedynczego wpisu z tabeli wp_options . Ten wpis informuje WordPress, jakiego motywu użyć; w naszym przykładzie tematem jest dwadzieścia dwadzieścia .

Wpis szablonu w bazie WordPress.

Kliknij dwukrotnie nazwę motywu pod wartością opcji i możesz ją zmienić na inną. Musi to być motyw zainstalowany na stronie internetowej, w przeciwnym razie wystąpią dalsze błędy.

Niektóre bezpieczne zakłady dla większości witryn to domyślne opcje motywu, takie jak dwadzieścia trzy lub dwadzieścia dwadzieścia dwa . Kiedy skończysz, sprawdź swoją witrynę, aby sprawdzić, czy wewnętrzny błąd serwera 500 nadal występuje.

5. Prześlij ponownie podstawowe pliki

Udaj się na wordpress.org i pobierz najnowszą wersję WordPress na swój komputer lokalny. Następnie rozpakuj plik (jest to WAŻNE ).

Wróć do swojego konta hostingowego i ponownie do cPanel → Menedżer plików → public_html . Kliknij Prześlij , aby przesłać nowy folder WordPress.

prześlij WordPressa

Zostaniesz poinformowany, że masz zamiar nadpisać pliki. To jest w porządku – to jest dokładnie to, czego chcemy. Przyznaj uprawnienia i pozwól na przesłanie nowych plików.

Zakończenie procesu zajmie kilka sekund. Sprawdź, czy błąd 500 zniknął.

6. Wygeneruj ponownie plik .htaccess

Aby zregenerować plik .htaccess , przejdź do public_html → .htaccess . Kliknij plik prawym przyciskiem myszy i naciśnij przycisk Pobierz , aby pobrać istniejący plik na komputer lokalny jako kopię zapasową.

Kliknij ponownie prawym przyciskiem myszy i naciśnij przycisk Usuń , aby usunąć plik.

Kliknij ikonę +Plik na pasku narzędzi u góry ekranu. Wpisz .htaccess w polu wejściowym Nowa nazwa pliku.

dodaj symbol pliku w menedżerze plików - wewnętrzny błąd serwera http 500

Kliknij opcję Utwórz nowy plik . Kliknij prawym przyciskiem myszy nowo utworzony plik, aby go edytować . Dodaj następujący kod:

 # BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

Powyższy kod pochodzi z oficjalnego szablonu pliku .htaccess używanego przez WordPress.

Zapisz plik przed zamknięciem okna.

7. Zwiększ limit pamięci PHP

PHP to język programowania, który umożliwia działanie witryny WordPress. Wszystkie operacje skutkujące wyświetleniem treści na Twojej stronie są operacjami PHP (trochę upraszczam).

Wykonanie tych operacji PHP zwykle zajmuje trochę czasu i pamięci. Jeśli jednak serwer nie przydzielił wystarczających zasobów na te operacje, może zostać wyświetlony wewnętrzny błąd serwera 500.

W wielu przypadkach zwiększenie limitu pamięci to dobry sposób na naprawienie błędu.

Możesz to zrobić z poziomu swojego panelu hostingowego. Przejdź z powrotem do cPanel, aby zrobić to, co jest wymagane.

W cPanelu poszukaj opcji o nazwie Wersja PHP lub Selektor PHP . Nazwa ta może się nieznacznie różnić w zależności od hosta. Na przykład w Namecheap opcja, której powinieneś szukać, nazywa się Wybierz wersję PHP .

wybierz wersję php cpanel namecheap - wewnętrzny błąd serwera http 500

Następnie wprowadź Opcje PHP lub Opcje .

Tam możesz zmienić wartość obok memory_limit . Po prostu wybierz wartość o jeden poziom wyższą od aktualnie wybranej.

ustaw nowy limit_pamięci

Pamiętaj, aby nacisnąć przycisk Zapisz .

8. Poproś o pomoc swojego dostawcę usług hostingowych

Nic nie zadziałało? Prawdopodobnie nadszedł czas, aby skontaktować się z dostawcą usług hostingowych i poprosić o pomoc.

Opowiedz im o wszystkich krokach, które już podjąłeś, aby usunąć błąd. Twój dostawca usług hostingowych powinien mieć jeszcze kilka asów w rękawie.

Wniosek dotyczący wewnętrznego błędu serwera 500

Ten błąd jest jednym z najbardziej frustrujących, jakie kiedykolwiek spotkasz na swojej stronie WordPress.

Nie mówi, dlaczego tak się stało i co z tym zrobić, a ponadto istnieje wiele przyczyn, które mogły to wywołać.

Ponieważ dokładna przyczyna błędu jest zawsze ulotna, możesz wypróbować kolejno następujące rozwiązania i sprawdzić, które z nich usunie błąd:

  • Wyczyść pamięć podręczną przeglądarki
  • Sprawdź dziennik debugowania WordPressa
  • Dezaktywuj wtyczki i motywy
  • Prześlij ponownie podstawowe pliki WordPress
  • Wygeneruj ponownie plik .htaccess
  • Zwiększ limit pamięci PHP

Jeśli nic nie działa, najlepiej zwrócić się o pomoc bezpośrednio do swojego dostawcy usług hostingowych.

Jeśli masz jakiekolwiek pytania dotyczące „wewnętrznego błędu serwera HTTP 500”, daj nam znać w sekcji komentarzy poniżej.

Tak! Dotarłeś do końca artykułu!