500

Internal Server Error

Oficjalny Kody podstatusów
Nieokreślony wewnętrzny błąd serwera

Ogólne wyjaśnienie kodu statusu 500

Ten blok tekstowy jest niestety dostępny tylko w języku angielskim.

The HTTP 500 Internal Server Error status code occurs when the server has a problem and is unable to process the user's request. This can have various reasons, such as technical problems, overloading of the server or problems with the software that runs the server.

Specyfikacja kodu statusu HTTP 500

Kod statusu 500 Internal Server Error wskazuje, że serwer napotkał nieoczekiwany stan, który uniemożliwił mu spełnienie żądania.

Źródło / Cytat z: Kod statusu 500 Internal Server Error HTTP jest określony przez sekcję 6.6.1 z RFC7231.

Jak wyrzucić kod statusu 500 za pomocą PHP?

Aby wyrzucić na stronę internetową kod statusu HTTP 500, można użyć funkcji PHP http_response_code. Składnia jest następująca: http_response_code(500) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testowanie kodu 500 statusu HTTP

Aby móc wyświetlić kod statusu HTTP (w tym przypadku 500 Internal Server Error) i inne informacje po stronie klienta, należy otworzyć konsolę programistyczną za pomocą F12. Następnie należy przejść do zakładki "Network". Teraz można otworzyć stronę, w zakładce "Network" powinna być widoczna strona (przykładowy index.php). Należy ją zaznaczyć, a następnie wybrać sekcję Herder. Użytkownik zobaczy wtedy następujący wynik:

Kod statusu 500 Internal Server Error
Przegląd
URL: https://http-statuscode.com/errorCodeExample.php?code=500
Status: 500 Internal Server Error
Te: Network
Adres IP: XX.XX.XX.XX
Kod statusu 500 Internal Server Error

Jak rozwiązać problem z kodem statusu 500?

Aby naprawić błąd HTTP 500 Internal Server Error, pierwszą rzeczą, którą musimy zrobić, to dowiedzieć się, dlaczego kod statusu HTTP 500 Internal Server Error został rzucony w pierwszej kolejności. Powodami mogą być:

  1. Problemy z konfiguracją serwera lub programowaniem
  2. Błędy w pliku ".htaccess"
  3. Brak lub uszkodzone pliki na serwerze
  4. Przeciążenie serwera lub niewystarczające zasoby takie jak CPU, RAM lub przepustowość
  5. Trudności w łączeniu się z innymi systemami lub bazami danych
  6. Problemy z bezpieczeństwem, takie jak ataki DDoS lub infekcje złośliwym oprogramowaniem
  7. Błędy aplikacji lub frameworka na serwerze

Wszystkie te rzeczy należy sprawdzić, w zależności od tego, która zmiana została dokonana jako ostatnia, należy to sprawdzić w pierwszej kolejności. Ponieważ przyczyny kodu statusu HTTP 500 Internal Server Error mogą być tak różnorodne, nie można sformułować ogólnego zalecenia.

Wszystkie te rzeczy należy sprawdzić, w zależności od tego, która zmiana została dokonana jako ostatnia.

Jak stworzyć własną stronę błędu dla kodu statusu 500

Stworzenie własnej strony błędu 500 Internal Server Error jest stosunkowo proste zarówno w przypadku serwera "Apache" jak i "NGINX".

Apache Webserver

Serwer WWW "Apache" jest jednym z najczęściej spotykanych serwerów WWW w Internecie. Aby stworzyć własną stronę błędu 500 Internal Server Error w "Apache", należy dokonać następującej zmiany w poniższym pliku.

File: .htaccess
ErrorDocument 500 /errors/500.html

NGINX Webserver

Podobnie jak serwer internetowy "Apache", "NGINX" jest również szeroko stosowany w Internecie. Aby stworzyć własną stronę błędu 500 Internal Server Error w "NGINX", należy dokonać następującej zmiany w poniższym pliku.

File: sites-enabled/default
error_page 500 /500.html;
location = /500.html {
    root /usr/share/nginx/html;
    internal;
}

Zgodność kodu statusu 500 z przeglądarką

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Stałe w językach programowania

HttpStatusCode.InternalServerError
http.StatusInternalServerError
Response::HTTP_INTERNAL_SERVER_ERROR
httplib.INTERNAL_SERVER_ERROR
http.client.INTERNAL_SERVER_ERROR
http.HTTPStatus.INTERNAL_SERVER_ERROR
:internal_server_error

Kody podstatusów kodu statusu 500

Kody statusu sub są czysto techniczne i nigdy nie powinny być wysyłane do użytkownika. Na przykład, jeśli kod statusu 500.1 jest rzucany, może być rejestrowany, ale kod statusu 500 zostanie wysłany do użytkownika.:
500.0 Module or ISAPI error occurred
HTTP IIS, Nieoficjalne
500.11 Application is shutting down on the web server
HTTP IIS, Nieoficjalne
500.12 Application is busy restarting on the web server
HTTP IIS, Nieoficjalne
500.13 Web server is too busy
HTTP IIS, Nieoficjalne
500.15 Direct requests for Global.asax aren't allowed
HTTP IIS, Nieoficjalne
500.19 Configuration data is invalid
HTTP IIS, Nieoficjalne
500.21 Module not recognized
HTTP IIS, Nieoficjalne
500.22 An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
HTTP IIS, Nieoficjalne
500.23 An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode
HTTP IIS, Nieoficjalne
500.24 An ASP.NET impersonation configuration does not apply in Managed Pipeline mode
HTTP IIS, Nieoficjalne
500.50 A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred
HTTP IIS, Nieoficjalne
500.51 A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred
HTTP IIS, Nieoficjalne
500.52 A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred
HTTP IIS, Nieoficjalne
500.53 A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated
HTTP IIS, Nieoficjalne
500.100 Internal ASP error
HTTP IIS, Nieoficjalne
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser jest entuzjastycznym twórcą stron internetowych z zamiłowaniem do kodów statusu HTTP.

LinkedInGitHub