500

Internal Server Error

Oficiální stránky Kódy dílčích stavů
Nespecifikovaná vnitřní chyba serveru

Obecné vysvětlení stavového kódu 500

Tento textový blok je bohužel k dispozici pouze v angličtině.

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.

Specifikace stavového kódu HTTP 500

Stavový kód 500 Internal Server Error znamená, že server narazil na neočekávanou podmínku, která mu zabránila požadavek splnit.

Zdroj / Citace z: Stavový kód 500 Internal Server Error HTTP je specifikován v oddílu 6.6.1 oddílu RFC7231.

Jak vyhodit stavový kód 500 pomocí PHP?

Pro zobrazení stavového kódu HTTP 500 na webové stránce lze použít funkci PHP http_response_code. Syntaxe je následující: http_response_code(500) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testování stavového kódu HTTP 500

Aby bylo možné zobrazit stavový kód HTTP (v tomto případě 500 Internal Server Error) a další informace na straně klienta, je třeba otevřít vývojovou konzolu pomocí klávesy F12. Poté přejděte na kartu "Síť". Nyní lze stránku otevřít, webová stránka (příklad index.php) by měla být viditelná na kartě sítě. Ta musí být vybrána a poté musí být vybrána sekce Herder. Uživatel pak uvidí následující výsledek:

Stavový kód 500 Internal Server Error
Přehled
URL: https://http-statuscode.com/errorCodeExample.php?code=500
Stav: 500 Internal Server Error
Tyto stránky: Network
IP adresa: XX.XX.XX.XX
Stavový kód 500 Internal Server Error

Jak vyřeším problém se stavovým kódem 500?

Chceme-li chybu HTTP 500 Internal Server Error opravit, musíme nejprve zjistit, proč byl stavový kód HTTP 500 Internal Server Error vůbec vyhozen. Důvody mohou být:

  1. Problémy s konfigurací nebo programováním serveru
  2. Chyby v ".htaccess"
  3. Chybějící nebo poškozené soubory na serveru
  4. Přetížení serveru nebo nedostatečné zdroje, jako je procesor, RAM nebo šířka pásma
  5. Problémy s připojením k jiným systémům nebo databázím
  6. Problémy s bezpečností, jako jsou útoky DDoS nebo napadení škodlivým softwarem
  7. Chyby aplikace nebo frameworku na serveru

Všechny tyto věci je třeba zkontrolovat, podle toho, která změna byla provedena jako poslední, by měla být tato kontrola provedena jako první. Vzhledem k tomu, že příčiny výskytu stavového kódu HTTP 500 Internal Server Error mohou být velmi rozmanité, nelze vydat žádné obecné doporučení.

Všechny tyto věci je třeba zkontrolovat v závislosti na tom, která změna byla provedena jako poslední.

Jak vytvořit vlastní chybovou stránku pro stavový kód 500

Vytvoření vlastní chybové stránky 500 Internal Server Error je na webových serverech Apache i NGINX poměrně snadné.

Apache Webserver

Webový server Apache je jedním z nejběžnějších webových serverů na internetu. Chcete-li vytvořit vlastní chybovou stránku 500 Internal Server Error v serveru "Apache", je třeba provést následující změnu v následujícím souboru.

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

NGINX Webserver

Podobně jako webový server Apache se na internetu hojně používá i NGINX. Chcete-li vytvořit vlastní chybovou stránku 500 Internal Server Error v serveru "NGINX", je třeba provést následující změnu v následujícím souboru.

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

Kompatibilita stavového kódu 500 s prohlížeči

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

Konstanty v programovacích jazycích

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

Dílčí stavové kódy stavového kódu 500

Dílčí stavové kódy jsou čistě technického rázu a nikdy by neměly být odesílány uživateli. Například pokud je vyhozen stavový kód 500.1, může být zaznamenán, ale uživateli bude zaslán stavový kód 500.:
500.0 Module or ISAPI error occurred
HTTP IIS, Neoficiální
500.11 Application is shutting down on the web server
HTTP IIS, Neoficiální
500.12 Application is busy restarting on the web server
HTTP IIS, Neoficiální
500.13 Web server is too busy
HTTP IIS, Neoficiální
500.15 Direct requests for Global.asax aren't allowed
HTTP IIS, Neoficiální
500.19 Configuration data is invalid
HTTP IIS, Neoficiální
500.21 Module not recognized
HTTP IIS, Neoficiální
500.22 An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
HTTP IIS, Neoficiální
500.23 An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode
HTTP IIS, Neoficiální
500.24 An ASP.NET impersonation configuration does not apply in Managed Pipeline mode
HTTP IIS, Neoficiální
500.50 A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred
HTTP IIS, Neoficiální
500.51 A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred
HTTP IIS, Neoficiální
500.52 A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred
HTTP IIS, Neoficiální
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, Neoficiální
500.100 Internal ASP error
HTTP IIS, Neoficiální
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser je nadšený webový vývojář se zálibou ve stavových kódech HTTP.

LinkedInGitHub