Błąd „500 Internal Server Error” w WordPressie jest jednym z najczęstszych problemów, które mogą wystąpić na Twojej stronie. Oznacza on, że coś poszło nie tak na poziomie serwera, ale serwer nie jest w stanie dokładnie zidentyfikować, co to jest. Błąd ten może być spowodowany różnymi przyczynami, takimi jak problemy z plikiem .htaccess, limit pamięci PHP, błędy wtyczek lub motywów, a także problemy z serwerem. Chociaż komunikat błędu nie dostarcza wielu szczegółów, istnieje kilka kroków, które możesz podjąć, aby zdiagnozować i naprawić problem.
W tym artykule omówimy, jakie są najczęstsze przyczyny błędu „500 Internal Server Error” oraz jak go naprawić.
1. Sprawdzenie i naprawa pliku .htaccess
Jedną z najczęstszych przyczyn błędu „500 Internal Server Error” jest uszkodzony lub nieprawidłowo skonfigurowany plik .htaccess. Możesz to łatwo naprawić, tworząc nowy plik .htaccess.
Jak naprawić plik .htaccess?
- Zaloguj się na serwer przez FTP lub użyj menedżera plików w panelu hostingowym (np. cPanel).
- Przejdź do głównego katalogu WordPressa, gdzie znajduje się plik .htaccess.
- Zmień nazwę pliku .htaccess na .htaccess_old, aby tymczasowo go wyłączyć.
- Spróbuj załadować swoją stronę. Jeśli strona działa poprawnie, oznacza to, że problemem był plik .htaccess.
- Utwórz nowy plik .htaccess:
- Przejdź do panelu administracyjnego WordPressa.
- Przejdź do Ustawienia > Bezpośrednie odnośniki i bez zmieniania żadnych ustawień kliknij Zapisz zmiany. WordPress automatycznie utworzy nowy plik .htaccess z domyślnymi regułami.
Poniżej znajduje się przykład domyślnego pliku .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
2. Zwiększenie limitu pamięci PHP
Błąd „500 Internal Server Error” może być również spowodowany przekroczeniem limitu pamięci PHP. Jeśli Twoja witryna zużywa zbyt dużo zasobów, serwer może nie być w stanie przetworzyć żądania, co prowadzi do tego błędu.
Jak zwiększyć limit pamięci PHP?
- Edytuj plik wp-config.php:
- Zaloguj się na serwer przez FTP i otwórz plik wp-config.php, który znajduje się w głównym katalogu WordPressa.
- Dodaj poniższą linię kodu tuż przed komentarzem „That’s all, stop editing!”:
php define('WP_MEMORY_LIMIT', '256M');
- Zwiększ limit w pliku php.ini (jeśli masz do niego dostęp):
- Otwórz plik php.ini na serwerze i dodaj lub edytuj następujące linie:
plaintext memory_limit = 256M
- Zaktualizuj plik .htaccess:
- Jeśli nie masz dostępu do php.ini, możesz zwiększyć limit pamięci, dodając poniższy kod do pliku .htaccess:
plaintext php_value memory_limit 256M
Po zwiększeniu limitu pamięci spróbuj ponownie załadować stronę, aby sprawdzić, czy błąd został rozwiązany.
3. Wyłączanie wtyczek
Błędy we wtyczkach mogą również powodować błąd „500 Internal Server Error”. Konflikty między wtyczkami lub wadliwe wtyczki mogą przeciążać serwer, co prowadzi do problemów z przetwarzaniem żądań.
Jak wyłączyć wszystkie wtyczki?
- Zaloguj się na serwer przez FTP i przejdź do katalogu wp-content.
- Znajdź folder plugins.
- Zmień nazwę folderu plugins na coś innego, np. plugins_old. To tymczasowo wyłączy wszystkie wtyczki.
- Sprawdź, czy problem został rozwiązany:
- Jeśli strona działa po wyłączeniu wtyczek, oznacza to, że jedna z wtyczek była przyczyną błędu.
- Zaktualizuj wtyczki:
- Zaloguj się do panelu WordPressa, przejdź do Wtyczki > Zainstalowane wtyczki, włączaj wtyczki pojedynczo, aby zidentyfikować, która powoduje problem.
4. Przełączanie motywu na domyślny
Motyw, który jest niekompatybilny z wersją WordPressa lub zainstalowanymi wtyczkami, może być przyczyną błędu „500 Internal Server Error”. Aby to sprawdzić, możesz tymczasowo przełączyć motyw na domyślny.
Jak przełączyć motyw na domyślny?
- Zaloguj się na serwer przez FTP i przejdź do katalogu wp-content/themes.
- Zlokalizuj aktywny motyw i zmień jego nazwę na coś innego (np. nazwamotywu_old).
- WordPress automatycznie przełączy motyw na jeden z domyślnych motywów (np. Twenty Twenty-One).
- Sprawdź, czy problem został rozwiązany:
- Jeśli strona działa poprawnie, problemem może być aktualny motyw. W takim przypadku spróbuj go zaktualizować lub zainstalować nową wersję.
5. Sprawdzenie logów serwera
Jeśli problem nie został jeszcze rozwiązany, sprawdzenie logów serwera może dostarczyć dodatkowych informacji na temat błędu. Logi błędów serwera mogą pokazać, który skrypt lub wtyczka powoduje błąd.
Jak sprawdzić logi serwera?
- Zaloguj się do panelu hostingowego (np. cPanel, Plesk) i przejdź do sekcji logów serwera, takich jak Error Logs.
- Sprawdź najnowsze wpisy, aby znaleźć dokładne informacje o tym, co powoduje błąd „500 Internal Server Error”.
- Jeśli w logach znajdziesz informacje o konkretnym pliku lub skrypcie, który powoduje problem, możesz go zaktualizować, naprawić lub usunąć.
6. Przywracanie kopii zapasowej
Jeśli żadne z powyższych rozwiązań nie działa, przywrócenie kopii zapasowej może być skutecznym sposobem na naprawienie błędu. W przypadku, gdy błąd pojawił się po wprowadzeniu zmian, takich jak aktualizacje, przywrócenie wcześniejszej wersji witryny może przywrócić jej funkcjonalność.
Jak przywrócić kopię zapasową?
- Zaloguj się do panelu hostingowego i przejdź do sekcji odpowiedzialnej za zarządzanie kopiami zapasowymi (np. Backup Manager).
- Wybierz kopię zapasową, która została wykonana przed wystąpieniem błędu „500 Internal Server Error”.
- Przywróć kopię zapasową i sprawdź, czy problem został naprawiony.
7. Kontakt z dostawcą hostingu
Jeśli wszystkie powyższe kroki zawiodą, problem może leżeć po stronie serwera, a nie samego WordPressa. Skontaktowanie się z dostawcą hostingu może pomóc w zidentyfikowaniu i naprawie problemu na poziomie serwera.
Co zapytać dostawcę hostingu?
- Sprawdzenie logów serwera: Poproś dostawcę hostingu o sprawdzenie logów serwera i identyfikację problemu.
- Ograniczenia serwera: U
pewnij się, że Twój plan hostingowy nie ma ograniczeń zasobów, takich jak pamięć PHP czy limity na liczbę żądań, które mogą prowadzić do błędu 500.
Podsumowanie
Błąd „500 Internal Server Error” w WordPressie może mieć wiele przyczyn, takich jak uszkodzony plik .htaccess, przekroczony limit pamięci PHP, konflikty wtyczek lub motywów oraz problemy z serwerem. Aby naprawić ten błąd, spróbuj naprawić plik .htaccess, zwiększyć limit pamięci PHP, wyłączyć wtyczki i przełączyć motyw na domyślny. Jeśli te kroki nie pomogą, sprawdź logi serwera lub przywróć kopię zapasową. W razie potrzeby skontaktuj się z dostawcą hostingu, aby uzyskać dalszą pomoc.