Widzisz na ekranie Internal Server Error i nie wiesz co zrobić? Twój WordPress rozsypał się… Ale spokojnie, nie masz powodów do paniki. Pokażę Ci, jak rozwiązać Twój problem.
Przyczyny błędu Internal Server Error
Na początek odrobina teorii. Istnieje kilka przyczyn wystąpienia błędu WordPress Internal Server Error. Jak sama nazwa wskazuje, jest to wewnętrzny błąd serwera. Mogą do niego doprowadzić:
- przekierowania ustawione w pliku .htaccess
- błędnie działające wtyczki
- błędnie działający motyw
- brak pamięci na serwerze
Taki błąd może być następstwem:
- instalacji nowej wtyczki (np. do zwiększania bezpieczeństwa)
- niekompatybilności wtyczki lub motywu z nową wersją WP
- zbyt dużym obciążeniem serwera (hostingu)
Prawdopodobnie:
- przedobrzyłeś z konfiguracją jakiejś wtyczki
- zaktualizowałeś WordPressa do nowej wersji
- Twoja strona jest zbyt „ciężka” (duży ruch, zbyt dużo wtyczek)
Bez względu na przyczynę, znajdziemy rozwiązanie!
Rozwiązanie błędu Internal Server Error
Skupimy się na trzech możliwych rozwiązaniach problemu:
- przywrócimy plik .htaccess do pierwotnej wersji
- wyłączymy wtyczki powodujące błąd
- zwiększymy limit pamięci dla WordPressa
Przywrócenie pliku .htaccess
Niektóre wtyczki, np. do bezpieczeństwa, ingerują w plik .htaccess. Jest to plik zawierający komendy dla serwera. Jeśli znajdą się w nim reguły wykluczające się nawzajem, serwer nie będzie mógł zrealizować zadania. W takim przypadku dla naszej strony wyświeli błąd WordPress Internal Server Error. Domyślnie plik ten prezentuje się następująco: Sprawdź, jak wygląda Twój. Zaloguj się do swojego serwera za pomocą FTP. Plik .htaccess znajdziesz w folderze, w którym jest zainstalowany Twój WordPress.
Czy w tym pliku znajduje się więcej reguł niż w domyślnym pliku? Jeśli tak, usuń te nadmiarowe. Bądź cierpliwy. W zależności od firmy hostingowej, serwer może potrzebować do kilkunastu minut na odświeżenie reguł .htaccess.
Wyłącz wtyczki i motywy, które mogą powodować błąd Internal Server Error w WordPress
Masz ułatwione zadanie jeśli Internal Server Error wyświetla się jedynie na froncie Twojego WP. Niemniej, poradzimy sobie nawet jeśli nie masz dostępu również do panelu administratora (on też zwraca błąd).
Mam dostęp do panelu admina
W pierwszym przypadku wejdź do panelu i wyłącz wszystkie wtyczki.
Czy błąd WordPress Internal Server Error przestał występować? Jeśli tak, to znaczy, że jest problem z którąś z wtyczek. Włączaj wtyczki jedna po drugiej. Przed włączeniem każdej kolejnej sprawdź, czy pojawia się błąd na stronie. Ta metoda pozwoli Ci znaleźć winowajcę.
Panel admina również wyświetla błąd Internal Server Error
W tym przypadku zastosuj tę samą metodę – włączania wtyczek jedna po drugiej. Pytanie brzmi, jak wyłączyć obecne wtyczki, skoro nie masz dostępu do panelu administratora? Już śpieszę z odpowiedzią.
- Zaloguj się na swój serwer FTP.
- Przejdź do folderu wp-content/pluginsoraz wp-content/themes.
- Zmień nazwy folderów wtyczek i motywów.
Gdy WordPress wykryje zmianę nazwy folderu wtyczki (lub motywu), potraktuje je jako całkiem nową wtyczkę. Nowa nazwa folderu może być dowolna:
Jak to się dzieje? WordPress wyłączy dotychczasową wtyczkę. Fizycznie nie będzie mógł jej znaleźć, gdyż nie będzie dostępna w dotychczasowym folderze. Wtyczkę w nowym folderze (starym, o nowej nazwie) wykryje jako nową wtyczkę, która domyślnie będzie wyłączona.
Zwiększenie limitu pamięci dla PHP
Wraz ze wzrostem liczby odwiedzających Twoją stronę, rośnie obciążenie serwera. W skrócie: Wtyczki potrzebują pamięci dla swoich procesów. Im więcej odwiedzin Twojej strony, tym więcej procesów uruchamiają wtyczki. Powiem Ci teraz, jak zwiększyć limit pamięci dla Twojego WP. Ponownie, zaloguj się do FTP. W folderze WordPressa znajdziesz plik wp-config.php
Przejdź do jego edycji. Na końcu pliku wstaw następujący kod: define(’WP_MEMORY_LIMIT’, '128M’); Spróbuj różnych ustawień:
- 128M
- 256M
- 512M
Są to wartości oznaczające limit pamięci. Są wyrażone w megabajtach. W tym przypadku zapisuje się je bez B, tj. 128M, a nie 128MB.
Nie da się tej wartości zmieniać jednak w nieskończoność. Twój hosting ma swoje ograniczenia co do pamięci i tego nie przeskoczysz. Zobacz na przykładowe parametry jednej z firm hostingowych:
Może okazać się, że taka ilość pamięci jest niewystarczająca dla Twojej strony. Koniecznie dowiedz się, ile pamięci jest przydzielone do Twojego pakietu hostingowego. Jeśli parametr ten nie widnieje w cenniku, zapytaj swojej firmy hostingowej.
A może wybierzesz hosting, w którym nie musisz martwić się o parametry techniczne? Specjalista z firmy hostingowej przeniesie Twoją stronę za darmo!
Gdy Twój pakiet oferuje jedynie 128MB pamięci, to zmiana limitów w pliku wp-config np. na 256MB nie przyniesie efektu.
Jak wyciągnąć więcej ze swojego hostingu?
Podam Ci jeszcze na koniec jedną wskazówkę. Aktualizuj wersję PHP swojego serwera. To bardzo ważne. Nowe wersje PHP przynoszą wiele dodatkowych optymalizacji w kwestii wydajności. Okazuje się wtedy, że te same wtyczki i motywy potrzebują mniejszej ilości pamięci do działania. Jeden z blogów technologicznych testował wydajność WordPressa na poszczególnych wersjach PHP. Wyniki testów poniżej:
Na wykresie możesz zobaczyć, jak wiele tzw. requestów w ciągu sekundy obsłużył ten sam serwer. Różnica wydajności zależy od wersji PHP na serwerze.
Podsumowanie
W tym artykule dowiedziałeś się, w jaki sposób naprawić błąd WordPress Internal Server Error. Która z powyższych metod rozwiązała Twój problem? A może borykasz się z problemem pomimo zastosowania powyższych rozwiązań? Daj znać w komentarzu!
Odkąd zajmuję się naprawianiem tego typu rzeczy to wordpress error widzę głównie z powodu wtyczek, sam wordpress baaaaardzo rzadko powoduje jakieś problemy.
na poczatku mojej przygody z blogowaniem bylam pewna, ze wordpress 500 internal error to jakis wirus i panikowałam jak głupia ze mi sie usunal caly blog :) czlowiek uczy sie cale zycie :P
Wpis wyjaśnił mi, jak przywrócić plik htaccess. Internal server error zniknął po zastosowaniu waszych wskazówek krok po kroku. Dziękuję, b przydatny artykuł.
Hej, otrzymuję zgłoszenia od Klientów, że gdy są w koszyku, uzupełnią wszystkie dane i chcą przejść dalej by zapłacić otrzymują komunikat internal server error. Gdzie powinnam szukać przyczyny?
W takiej sytuacji, aby zidentyfikować źródło problemu, należy przede wszystkim sprawdzić logi błędów. W zależności od hostingu na jakim znajduje się serwis, mogą one być w innym miejscu, ale zawsze takie są dostępne. Tam, np. po ścieżce w opisie błędu, widać zwykle, który element (na ogół wtyczka) powoduje tego typu błąd. W momencie, gdy znamy przyczynę można zweryfikować czy np. problemem nie jest brak jakiejś aktualizacji.