Jak naprawić wewnętrzny błąd serwera 500 w witrynie WordPress?
Opublikowany: 2017-12-25Przerażający wewnętrzny błąd serwera 500. Zawsze wydaje się, że nadchodzi w najbardziej nieodpowiednim momencie i nagle zaczynasz się zastanawiać, jak przywrócić witrynę WordPress do trybu online. Zaufaj nam, wszyscy tam byliśmy. Inne błędy, które zachowują się podobnie, to przerażający błąd podczas nawiązywania połączenia z bazą danych i przerażający biały ekran śmierci. Ale od momentu awarii witryny tracisz odwiedzających i klientów. Nie wspominając o tym, że po prostu źle wygląda dla Twojej marki.
Dzisiaj zajmiemy się wewnętrznym błędem serwera 500 i przedstawimy kilka sposobów szybkiego przywrócenia witryny do trybu online. Przeczytaj więcej poniżej, co powoduje ten błąd i co możesz zrobić, aby temu zapobiec w przyszłości.
- Co to jest wewnętrzny błąd serwera 500?
- Jak naprawić wewnętrzny błąd serwera 500
500 Wewnętrzny błąd serwera (najczęstsze przyczyny):
500 Wewnętrzny błąd serwera w WordPressie może być spowodowany wieloma przyczynami. Jeśli go doświadczasz, istnieje duże prawdopodobieństwo, że przyczyną problemu jest jeden (lub więcej) z następujących elementów:
- Pamięć podręczna przeglądarki.
- Nieprawidłowe dane logowania do bazy danych.
- Uszkodzona baza danych.
- Uszkodzone pliki w Twojej instalacji WordPress.
- Problemy z serwerem bazy danych.
- Uszkodzone pliki podstawowe WordPressa.
- Uszkodzony plik .htaccess i limit pamięci PHP.
- Problemy z wtyczkami i motywami innych firm.
- Przekroczenie limitu czasu PHP lub krytyczne błędy PHP z wtyczkami innych firm.
- Nieprawidłowe uprawnienia do plików i folderów.
- Wyczerpany limit pamięci PHP na Twoim serwerze
- Uszkodzony lub uszkodzony plik .htaccess.
- Błędy w skrypcie CGI i Perl.
Sprawdź nasz ostateczny przewodnik po naprawie wewnętrznego błędu serwera 500
Co to jest wewnętrzny błąd serwera 500?
Internet Engineering Task Force (IETF) definiuje wewnętrzny błąd serwera 500 jako:
Kod stanu 500 (wewnętrzny błąd serwera) wskazuje, że serwer napotkał nieoczekiwany stan, który uniemożliwił mu zrealizowanie żądania.
Gdy odwiedzasz witrynę, przeglądarka wysyła żądanie do serwera, na którym znajduje się witryna. Serwer przyjmuje to żądanie, przetwarza je i odsyła żądane zasoby (PHP, HTML, CSS itp.) wraz z nagłówkiem HTTP. HTTP zawiera również to, co nazywają kodem stanu HTTP. Kod statusu to sposób na powiadomienie Cię o statusie żądania. Może to być kod stanu 200, co oznacza „Wszystko jest w porządku” lub kod stanu 500, co oznacza, że coś poszło nie tak.
Istnieje wiele różnych typów kodów błędów 500 statusu (500, 501, 502, 503, 504 itd.) i każdy z nich oznacza coś innego. W takim przypadku wewnętrzny błąd serwera 500 wskazuje, że serwer napotkał nieoczekiwany stan, który uniemożliwił mu zrealizowanie żądania (RFC 7231, sekcja 6.6.1).

500 odmian błędów wewnętrznego serwera
Ze względu na różne serwery internetowe, systemy operacyjne i przeglądarki wewnętrzny błąd serwera 500 może objawiać się na wiele różnych sposobów. Ale wszyscy komunikują to samo. Poniżej znajduje się tylko kilka z wielu różnych odmian, które możesz zobaczyć w Internecie:
- "500 wewnętrzny błąd serwera"
- „HTTP 500”
- "Wewnętrzny błąd serwera"
- „HTTP 500 — wewnętrzny błąd serwera”
- „Błąd 500”
- „Błąd HTTP 500”
- "500 wewnętrzny błąd serwera"
- "500 wewnętrzny błąd serwera. Przepraszam, coś poszło nie tak."
- „500. To jest błąd. Wystąpił błąd. Spróbuj ponownie później. To wszystko co wiemy."
- „Witryna nie może wyświetlić strony – HTTP 500.”
- „Obecnie nie jest w stanie obsłużyć tego żądania. BŁĄD HTTP 500.”
Możesz również zobaczyć tę wiadomość towarzyszącą temu:
Serwer napotkał błąd wewnętrzny lub nieprawidłową konfigurację i nie mógł zrealizować żądania. Skontaktuj się z administratorem serwera, [chroniony adres e-mail] i poinformuj go o czasie wystąpienia błędu oraz o wszystkim, co mogło spowodować błąd. Więcej informacji o tym błędzie może być dostępnych w dzienniku błędów serwera.

Innym razem możesz po prostu zobaczyć pusty biały ekran. W przypadku 500 wewnętrznych błędów serwera jest to dość powszechne w przeglądarkach takich jak Firefox i Safari.

Większe marki mogą nawet mieć własne niestandardowe wewnętrzne komunikaty o błędach serwera 500, takie jak ten z Airbnb.

Oto kolejny przykład błędu serwera Creative 500 od osób z readme.

Nawet potężny YouTube nie jest bezpieczny przed 500 wewnętrznymi błędami serwera.

Jeśli jest to serwer IIS 7.0 (Windows) lub nowszy, mają dodatkowe kody stanu HTTP, aby dokładniej wskazać przyczynę błędu 500:
- 500.0 — Wystąpił błąd modułu lub ISAPI.
- 500.11 – Aplikacja jest zamykana na serwerze WWW.
- 500.12 – Aplikacja jest zajęta restartowaniem na serwerze WWW.
- 500.13 – Serwer sieciowy jest zbyt zajęty.
- 500.15 – Bezpośrednie żądania global.asax są niedozwolone.
- 500.19 – Dane konfiguracyjne są nieprawidłowe.
- 500.21 – Moduł nie został rozpoznany.
- 500.22 — Konfiguracja httpModules ASP.NET nie ma zastosowania w trybie zarządzanego potoku.
- 500.23 — konfiguracja ASP.NET httpHandlers nie ma zastosowania w trybie zarządzanego potoku.
- 500.24 — Konfiguracja personifikacji ASP.NET nie ma zastosowania w trybie zarządzanego potoku.
- 500.50 — Wystąpił błąd ponownego zapisu podczas obsługi powiadomienia RQ_BEGIN_REQUEST. Wystąpił błąd konfiguracji lub wykonania reguły ruchu przychodzącego.
- 500.51 — Wystąpił błąd ponownego zapisu podczas obsługi powiadomień GL_PRE_BEGIN_REQUEST. Wystąpił błąd konfiguracji globalnej lub wykonania reguły globalnej.
- 500.52 — Wystąpił błąd ponownego zapisu podczas obsługi powiadomienia RQ_SEND_RESPONSE. Wystąpiło wykonanie reguły ruchu wychodzącego.
- 500.53 — Wystąpił błąd ponownego zapisu podczas obsługi powiadomienia RQ_RELEASE_REQUEST_STATE. Wystąpił błąd wykonania reguły ruchu wychodzącego. Reguła jest skonfigurowana do wykonania przed aktualizacją wyjściowej pamięci podręcznej użytkownika.
500.100 — Wewnętrzny błąd ASP.
500 błędów wpływa na SEO
W przeciwieństwie do błędów 503, które są używane w trybie konserwacji WordPress i informują Google, aby sprawdził ponownie w późniejszym czasie, błąd 500 może mieć negatywny wpływ na SEO, jeśli nie zostanie naprawiony od razu. Jeśli Twoja witryna nie działa tylko przez, powiedzmy, 10 minut, i jest stale indeksowana, robot indeksujący po prostu pobiera stronę z pamięci podręcznej. Lub Google może nie mieć nawet szansy na ponowne zindeksowanie go przed utworzeniem kopii zapasowej. W tym scenariuszu wszystko w porządku.
Jeśli jednak witryna jest niedostępna przez dłuższy czas, powiedzmy 6+ godzin, Google może uznać błąd 500 jako problem na poziomie witryny, który należy rozwiązać. Może to wpłynąć na Twoje rankingi . Jeśli martwisz się powtórzeniem 500 błędów, powinieneś dowiedzieć się, dlaczego tak się dzieje. Niektóre z poniższych rozwiązań mogą pomóc.
Jak naprawić wewnętrzny błąd serwera 500
Od czego zacząć rozwiązywanie problemów, gdy zobaczysz wewnętrzny błąd serwera 500 w swojej witrynie WordPress? Czasami możesz nawet nie wiedzieć, od czego zacząć. Zazwyczaj na samym serwerze znajduje się 500 błędów, ale z naszego doświadczenia wynika, że błędy te wynikają z dwóch rzeczy, pierwsza to błąd użytkownika (problem po stronie klienta), a druga to problem z serwerem . Więc zagłębimy się po trochu w jedno i drugie.
To nigdy nie jest denerwujące pic.twitter.com/pPKxbkvI9K
— Dare Obasanjo (@Carnage4Life) 26 września 2019 r.
Zapoznaj się z tymi typowymi przyczynami i sposobami naprawienia wewnętrznego błędu serwera 500 i błyskawicznie przywróć działanie.
1. Spróbuj ponownie załadować stronę
Dla niektórych może się to wydawać trochę oczywiste, ale jedną z najłatwiejszych i pierwszych rzeczy, które powinieneś spróbować w przypadku napotkania wewnętrznego błędu serwera 500, jest po prostu odczekanie około minuty i ponowne załadowanie strony (F5 lub Ctrl + F5). Może się zdarzyć, że host lub serwer jest po prostu przeciążony, a witryna natychmiast wróci. Podczas oczekiwania możesz też szybko wypróbować inną przeglądarkę, aby wykluczyć to jako problem.
Inną rzeczą, którą możesz zrobić, to wkleić witrynę do downforeveryoneorjustme.com. Ta witryna poinformuje Cię, czy witryna nie działa lub jest to problem po Twojej stronie. Narzędzie takie jak to sprawdza kod stanu HTTP, który jest zwracany z serwera. Jeśli jest to coś innego niż 200 „Wszystko jest w porządku”, zwróci wskaźnik w dół.
Zauważyliśmy również, że czasami może to nastąpić natychmiast po zaktualizowaniu wtyczki lub motywu w witrynie WordPress. Zwykle dzieje się tak na hostach, które nie są poprawnie skonfigurowane. Dzieje się tak, że zaraz potem doświadczają tymczasowego limitu czasu. Jednak problemy zwykle rozwiązują się w ciągu kilku sekund i dlatego wystarczy odświeżenie.
2. Wyczyść pamięć podręczną przeglądarki
Wyczyszczenie pamięci podręcznej przeglądarki jest zawsze kolejnym dobrym krokiem do rozwiązania problemu przed przystąpieniem do głębszego debugowania w witrynie. Poniżej znajdują się instrukcje, jak wyczyścić pamięć podręczną w różnych przeglądarkach:
- Jak wymusić odświeżenie pojedynczej strony dla wszystkich przeglądarek
- Jak wyczyścić pamięć podręczną przeglądarki dla Google Chrome
- Jak wyczyścić pamięć podręczną przeglądarki dla Mozilla Firefox
- Jak wyczyścić pamięć podręczną przeglądarki Safari
- Jak wyczyścić pamięć podręczną przeglądarki Internet Explorer
- Jak wyczyścić pamięć podręczną przeglądarki dla Microsoft Edge
- Jak wyczyścić pamięć podręczną przeglądarki dla Opery?
3. Sprawdź swoje dzienniki serwera
Powinieneś także skorzystać z dzienników błędów. Jeśli jesteś klientem Kinsta, możesz łatwo zobaczyć błędy w przeglądarce dziennika na pulpicie nawigacyjnym MyKinsta. Pomoże to szybko zawęzić problem, zwłaszcza jeśli wynika on z wtyczki w Twojej witrynie.

Jeśli Twój host nie ma narzędzia do rejestrowania, możesz również włączyć tryb debugowania WordPress, dodając następujący kod do pliku wp-config.php, aby włączyć rejestrowanie:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Dzienniki zazwyczaj znajdują się w katalogu /wp-content. Inne, takie jak tutaj w Kinsta, mogą mieć dedykowany folder o nazwie „dzienniki”.

Możesz także sprawdzić pliki dziennika w Apache i Nginx, które zwykle znajdują się tutaj:
- Apache: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
Jeśli jesteś klientem Kinsta, możesz również skorzystać z naszego narzędzia analitycznego, aby uzyskać zestawienie łącznej liczby 500 błędów i zobaczyć, jak często i kiedy występują. Może to pomóc w rozwiązaniu problemu, jeśli jest to stały problem, a może coś, co samo się rozwiązało.

Łatwo identyfikuj i usuwaj błędy w przeglądarce dzienników potężnego, scentralizowanego pulpitu nawigacyjnego MyKinsta. Wypróbuj Kinsta za darmo.
Jeśli błąd 500 jest wyświetlany z powodu krytycznego błędu PHP, możesz również spróbować włączyć raportowanie błędów PHP. Po prostu dodaj następujący kod do pliku zgłaszającego błąd. Zazwyczaj możesz zawęzić plik na karcie konsoli Google Chrome DevTools.
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
I może być konieczne zmodyfikowanie pliku php.ini w następujący sposób:
display_errors = on
4. Błąd podczas nawiązywania połączenia z bazą danych
500 wewnętrznych błędów serwera może również wystąpić z powodu błędu połączenia z bazą danych. W zależności od przeglądarki możesz zobaczyć różne błędy. Ale oba wygenerują kod stanu 500 HTTP niezależnie od dzienników serwera.
Poniżej znajduje się przykład tego, jak komunikat „błąd podczas nawiązywania połączenia z bazą danych” wygląda w Twojej przeglądarce. Cała strona jest pusta, ponieważ nie można pobrać danych do renderowania strony, ponieważ połączenie nie działa prawidłowo. To nie tylko łamie front-end Twojej witryny, ale także uniemożliwia dostęp do pulpitu WordPress.

Dlaczego dokładnie tak się dzieje? Oto kilka typowych powodów poniżej.
- Najczęstszym problemem jest to, że poświadczenia logowania do bazy danych są nieprawidłowe . Twoja witryna WordPress używa oddzielnych danych logowania, aby połączyć się z bazą danych MySQL.
- Twoja baza danych WordPress jest uszkodzona. Przy tak wielu ruchomych częściach z motywami, wtyczkami i użytkownikami, które stale je usuwają i instalują, czasami bazy danych ulegają uszkodzeniu. Może to być spowodowane brakiem lub pojedynczo uszkodzoną tabelą lub być może niektóre informacje zostały przypadkowo usunięte.
- Możesz mieć uszkodzone pliki w swojej instalacji WordPress. Czasami może się to zdarzyć nawet z powodu hakerów.
- Problemy z serwerem bazy danych. Wiele rzeczy może być nie tak po stronie hostów internetowych, na przykład baza danych jest przeciążona z powodu gwałtownego wzrostu ruchu lub nie odpowiada na zbyt wiele jednoczesnych połączeń. W rzeczywistości jest to dość powszechne w przypadku hostów współdzielonych, ponieważ wykorzystują one te same zasoby dla wielu użytkowników na tych samych serwerach.
Sprawdź nasz szczegółowy post, jak naprawić błąd podczas nawiązywania połączenia z bazą danych w WordPressie.

5. Sprawdź swoje wtyczki i motywy
Wtyczki i motywy innych firm mogą łatwo spowodować 500 wewnętrznych błędów serwera. Widzieliśmy, że wszystkie typy powodują je tutaj w Kinsta , od wtyczek do suwaków po wtyczki do rotacji reklam. Wiele razy powinieneś zobaczyć błąd natychmiast po zainstalowaniu czegoś nowego lub uruchomieniu aktualizacji. Jest to jeden z powodów, dla których zawsze zalecamy korzystanie ze środowiska testowego do aktualizacji lub przynajmniej uruchamianie aktualizacji pojedynczo. W przeciwnym razie, jeśli napotkasz wewnętrzny błąd serwera 500, nagle zaczniesz się zastanawiać, który z nich go spowodował.
Kilka sposobów na rozwiązanie tego problemu to dezaktywacja wszystkich wtyczek. Pamiętaj, że nie stracisz żadnych danych, jeśli po prostu dezaktywujesz wtyczkę. Jeśli nadal możesz uzyskać dostęp do swojego administratora, szybkim sposobem na to jest przejście do „Wtyczki” i wybranie „Dezaktywuj” z menu działań zbiorczych. Spowoduje to wyłączenie wszystkich twoich wtyczek.

Jeśli to rozwiąże problem, musisz znaleźć winowajcę. Zacznij je aktywować jeden po drugim, przeładowując stronę po każdej aktywacji. Gdy zobaczysz powrót wewnętrznego błędu serwera 500, znalazłeś nieprawidłowo działającą wtyczkę. Następnie możesz skontaktować się z twórcą wtyczki w celu uzyskania pomocy lub opublikować zgłoszenie do pomocy technicznej w repozytorium WordPress.
Jeśli nie możesz zalogować się do administratora WordPressa, możesz przesłać FTP na swój serwer i zmienić nazwę folderu wtyczek na coś w rodzaju plugins_old. Następnie ponownie sprawdź swoją witrynę. Jeśli to zadziała, będziesz musiał przetestować każdą wtyczkę pojedynczo. Zmień nazwę folderu wtyczek z powrotem na „wtyczki”, a następnie zmień nazwę każdego folderu wtyczek w środku, jeden po drugim, aż go znajdziesz. Możesz również spróbować najpierw odtworzyć to w witrynie tymczasowej.

Zawsze upewnij się, że Twoje wtyczki, motywy i rdzeń WordPress są aktualne. Sprawdź, czy korzystasz z obsługiwanej wersji PHP. Jeśli okaże się, że jest to konflikt ze złym kodem we wtyczce, być może trzeba będzie sprowadzić programistę WordPress, aby rozwiązać problem.
6. Zainstaluj ponownie rdzeń WordPress
Czasami podstawowe pliki WordPressa mogą ulec uszkodzeniu, zwłaszcza w starszych witrynach. W rzeczywistości dość łatwo jest ponownie przesłać sam rdzeń WordPressa bez wpływu na wtyczki lub motywy. Mamy szczegółowy przewodnik z 5 różnymi sposobami ponownej instalacji WordPressa. I oczywiście upewnij się, że wykonałeś kopię zapasową przed kontynuowaniem. Przejdź do jednej z poniższych sekcji:
- Jak ponownie zainstalować WordPress z pulpitu WordPress, zachowując istniejącą zawartość?
- Jak ręcznie ponownie zainstalować WordPress przez FTP, zachowując istniejącą zawartość?
- Jak ręcznie ponownie zainstalować WordPress za pomocą WP-CLI, zachowując istniejącą zawartość?
7. Błąd uprawnień
Błąd uprawnień dotyczący pliku lub folderu na serwerze może również spowodować wystąpienie wewnętrznego błędu serwera 500. Oto kilka typowych zaleceń dotyczących uprawnień, jeśli chodzi o uprawnienia do plików i folderów w WordPress:
- Wszystkie pliki powinny mieć 644 (-rw-r–r–) lub 640.
- Wszystkie katalogi powinny mieć numer 755 (drwxr-xr-x) lub 750.
- Żaden katalog nigdy nie powinien mieć 777, nawet katalogów uploadu.
- Utwardzanie: wp-config.php można również ustawić na 440 lub 400, aby uniemożliwić innym użytkownikom na serwerze odczytanie go.
Zobacz artykuł WordPress Codex na temat zmiany uprawnień do plików, aby uzyskać bardziej szczegółowe wyjaśnienie.
Możesz łatwo sprawdzić swoje uprawnienia do plików za pomocą klienta FTP (jak pokazano poniżej). Możesz również skontaktować się z zespołem pomocy technicznej hosta WordPress i poprosić go o szybkie przyznanie uprawnień do plików GREP w Twoich folderach i plikach, aby upewnić się, że są prawidłowo skonfigurowane.

8. Limit pamięci PHP
Wewnętrzny błąd serwera 500 może być również spowodowany wyczerpaniem limitu pamięci PHP na serwerze. Możesz spróbować zwiększyć limit. Postępuj zgodnie z poniższymi instrukcjami, jak zmienić ten limit w cPanel, Apache, pliku php.ini i pliku wp-config.php
.
Zwiększ limit pamięci PHP w cPanel
Jeśli korzystasz z hosta, który używa cPanel, możesz to łatwo zmienić w interfejsie użytkownika. W sekcji Oprogramowanie kliknij „Wybierz wersję PHP”.

Kliknij „Przełącz na opcje PHP”.

Następnie możesz kliknąć atrybut memory_limit
i zmienić jego wartość. Następnie kliknij „Zapisz”.

Zwiększ limit pamięci PHP w Apache
Plik .htaccess
to specjalny ukryty plik, który zawiera różne ustawienia, których można użyć do modyfikacji zachowania serwera, aż do poziomu określonego katalogu. Najpierw zaloguj się do swojej witryny przez FTP lub SSH, spójrz na swój katalog główny i sprawdź, czy nie ma tam pliku .htaccess
.

Jeśli tak, możesz edytować ten plik, aby dodać niezbędny kod do zwiększenia limitu pamięci PHP. Najprawdopodobniej jest ustawiony na 64M lub mniej, możesz spróbować zwiększyć tę wartość.
php_value memory_limit 128M
Zwiększ limit pamięci PHP w pliku php.ini
Jeśli powyższe nie działa, możesz spróbować edytować plik php.ini
. Zaloguj się do swojej witryny przez FTP lub SSH, przejdź do katalogu głównego witryny i otwórz lub utwórz plik php.ini
.

Jeśli plik już tam był, wyszukaj trzy ustawienia i zmodyfikuj je w razie potrzeby. Jeśli właśnie utworzyłeś plik lub nigdzie nie można znaleźć ustawień, możesz wkleić poniższy kod. Możesz oczywiście modyfikować wartości do swoich potrzeb.
memory_limit = 128M
Niektóre współdzielone hosty mogą również wymagać dodania dyrektywy suPHP w pliku .htaccess
, aby powyższe ustawienia pliku php.ini
działały. Aby to zrobić, edytuj plik .htaccess
, również znajdujący się w katalogu głównym witryny, i dodaj następujący kod w górnej części pliku:
<IfModule mod_suphp.c> suPHP_ConfigPath /home/yourusername/public_html </IfModule>
Jeśli powyższe nie zadziałało, możliwe, że twój host ma zablokowane ustawienia globalne i zamiast tego skonfigurował go do korzystania z plików .user.ini
. Aby edytować plik .user.ini
, zaloguj się do swojej witryny przez FTP lub SSH, przejdź do katalogu głównego witryny i otwórz lub utwórz plik .user.ini
. Następnie możesz wkleić następujący kod:
memory_limit = 128M
Zwiększ limit pamięci PHP w wp-config.php
Ostatnia opcja nie jest tą, której jesteśmy fanami, ale jeśli wszystko inne zawiedzie, możesz spróbować. Najpierw zaloguj się do swojej witryny przez FTP lub SSH i zlokalizuj plik wp-config.php, który zwykle znajduje się w katalogu głównym witryny.

Dodaj następujący kod na początku pliku wp-config.php
:
define('WP_MEMORY_LIMIT', '128M');
Możesz również zapytać swojego hosta, czy masz problemy z limitem pamięci. Korzystamy z narzędzia Kinsta APM i innych metod rozwiązywania problemów w Kinsta, aby pomóc klientom określić, która wtyczka, zapytanie lub skrypt może wyczerpać limit. Możesz także użyć własnego niestandardowego klucza New Relic z własnej licencji.

9. Problem z plikiem .htaccess
Kinsta używa tylko Nginx, ale jeśli używasz hosta WordPress, na którym działa Apache, może być tak, że Twój plik .htaccess
ma problem lub został uszkodzony. Wykonaj poniższe czynności, aby odtworzyć nowy od podstaw.
Najpierw zaloguj się do swojej witryny przez FTP lub SSH i zmień nazwę pliku .htaccess
na .htaccess_old
.

Zwykle, aby odtworzyć ten plik, możesz po prostu ponownie zapisać swoje permalinki w WordPress. Jeśli jednak znajdujesz się w środku wewnętrznego błędu serwera 500, najprawdopodobniej nie możesz uzyskać dostępu do administratora WordPress, więc nie jest to możliwe. Dlatego możesz utworzyć nowy plik .htaccess
i wprowadzić następującą zawartość. Następnie prześlij go na swój serwer.
# 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
Zobacz Kodeks WordPress, aby uzyskać więcej przykładów, takich jak domyślny plik .htaccess
dla wielu witryn.
10. Błędy w kodowaniu lub składni w skrypcie CGI/Perl
500 błędów spowodowanych przez błędy w CGI i Perlu jest znacznie mniej powszechne niż kiedyś. Chociaż nadal warto o tym wspomnieć, szczególnie dla tych, którzy używają cPanel, gdzie wciąż jest używanych wiele skryptów CGI za jednym kliknięciem. Jak mówi AEM na Stack Overflow:
CGI zostało zastąpione przez szeroką gamę technologii programowania internetowego, w tym PHP, różne rozszerzenia Apache, takie jak mod_perl, Java o różnych smakach i frameworkach, w tym Java EE, Struts, Spring itp., frameworki oparte na Pythonie, takie jak Django, Ruby on Rails i wiele inne frameworki Ruby i różne technologie Microsoft.
Oto kilka wskazówek dotyczących pracy ze skryptami CGI:
- Podczas edycji zawsze używaj zwykłego edytora tekstu, takiego jak Atom, Sublime lub Notepad++. Zapewnia to, że pozostaną w formacie ASCII.
- Upewnij się, że w skryptach i katalogach CGI są używane poprawne uprawnienia chmod 755.
- Prześlij swoje skrypty CGI w trybie ASCII (który możesz wybrać w edytorze FTP) do katalogu cgi-bin na serwerze.
- Upewnij się, że moduły Perla wymagane dla twojego skryptu są zainstalowane i obsługiwane.
Łatwo identyfikuj i usuwaj błędy w przeglądarce dzienników potężnego, scentralizowanego pulpitu nawigacyjnego MyKinsta. Wypróbuj Kinsta za darmo.
11. Problem z serwerem (sprawdź u swojego hosta)
Wreszcie, ponieważ 500 wewnętrznych błędów serwera może również wystąpić z powodu przekroczenia limitu czasu PHP lub krytycznych błędów PHP związanych z wtyczkami innych firm , zawsze możesz skontaktować się z hostem WordPress. Czasami te błędy mogą być trudne do rozwiązania bez eksperta. Oto tylko kilka typowych przykładów niektórych błędów, które wyzwalają 500 kodów stanu HTTP na serwerze, które mogą sprawić, że będziesz drapać się po głowie.
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()...
PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525
Monitorujemy wszystkie witryny klientów w Kinsta i jesteśmy automatycznie powiadamiani, gdy wystąpią tego typu błędy . To pozwala nam działać proaktywnie i od razu zacząć naprawiać problem. Korzystamy również z hostów zarządzanych LXD i zorganizowanych kontenerów oprogramowania LXC dla każdej witryny. Oznacza to, że każda witryna WordPress znajduje się we własnym izolowanym kontenerze, który zawiera wszystkie zasoby oprogramowania wymagane do jej uruchomienia (Linux, Nginx, PHP, MySQL). Zasoby są w 100% prywatne i nie są udostępniane nikomu ani nawet Twoim własnym witrynom.
Limity czasu PHP mogą również wynikać z braku pracowników PHP , chociaż zazwyczaj powodują one błędy 504, a nie 500. Określają one, ile jednoczesnych żądań Twoja witryna może obsłużyć w danym czasie. Mówiąc prościej, każde niebuforowane żądanie dla Twojej witryny jest obsługiwane przez PHP Worker.
Kiedy pracownicy PHP są już zajęci w witrynie, zaczynają tworzyć kolejkę. Po osiągnięciu limitu pracowników PHP kolejka zaczyna wysyłać starsze żądania, co może skutkować błędami 500 lub niekompletnymi żądaniami. Przeczytaj nasz szczegółowy artykuł o pracownikach PHP.
Monitoruj swoją witrynę
Jeśli martwisz się, że tego typu błędy wystąpią w Twojej witrynie w przyszłości, możesz również użyć narzędzia takiego jak updown.io do monitorowania i natychmiastowego powiadamiania o ich wystąpieniu. Okresowo wysyła żądanie HTTP HEAD na wybrany adres URL. Możesz po prostu użyć swojej strony głównej. Narzędzie umożliwia ustawienie częstotliwości sprawdzania:
- 15 sekund
- 30 sekund
- 1 minuta
- 2 minuty
- 5 minut
- 10 minut
Wyśle Ci wiadomość e-mail, jeśli i kiedy Twoja witryna ulegnie awarii. Oto przykład poniżej.
Może to być szczególnie przydatne, jeśli próbujesz debugować wadliwą wtyczkę lub znajdujesz się na współdzielonym hoście, który ma tendencję do przepełniania swoich serwerów. Może to dać Ci dowód na to, jak często Twoja witryna może faktycznie przestać działać (nawet w środku nocy). Dlatego zawsze zalecamy korzystanie z zarządzanego hosta WordPress. Zapoznaj się z naszym postem, w którym omówiono 9 najważniejszych powodów, dla których warto wybrać zarządzany hosting WordPress.
Streszczenie
500 wewnętrznych błędów serwera zawsze jest frustrujących, ale miejmy nadzieję, że teraz znasz kilka dodatkowych sposobów ich rozwiązywania, aby szybko przywrócić i uruchomić witrynę. Pamiętaj, że zazwyczaj tego typu błędy są powodowane przez wtyczki innych firm, krytyczne błędy PHP, problemy z połączeniem z bazą danych, problemy z plikiem .htaccess lub limitami pamięci PHP, a czasami z przekroczeniem limitu czasu PHP.
Czy było coś, co przegapiliśmy? Być może masz kolejną wskazówkę dotyczącą rozwiązywania 500 wewnętrznych błędów serwera. Jeśli tak, daj nam znać poniżej w komentarzach.