500

Internal Server Error

Officiel Understatuskoder
En uspecificeret intern serverfejl

Generel forklaring af 500-statuskoden

Denne tekstblok findes desværre kun på engelsk.

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.

Specifikation af HTTP-statuskode 500

Statuskoden 500 Internal Server Error angiver, at serveren er stødt på en uventet tilstand, der forhindrede den i at opfylde anmodningen.

Kilde / citat fra: HTTP-statuskoden 500 Internal Server Error er specificeret i afsnit 6.6.1 i RFC7231.

Hvordan får man en 500-statuskode med PHP?

Hvis du vil have HTTP-statuskoden 500 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(500) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 500 HTTP-statuskoden

For at kunne vise HTTP-statuskoden (i dette tilfælde 500 Internal Server Error) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:

Statuskode 500 Internal Server Error
Oversigt
URL: https://http-statuscode.com/errorCodeExample.php?code=500
Status: 500 Internal Server Error
Disse: Network
IP-adresse: XX.XX.XX.XX
Statuskode 500 Internal Server Error

Hvordan løser jeg problemet med 500-statuskoden?

For at rette HTTP 500 Internal Server Error-fejlen skal vi først og fremmest finde ud af, hvorfor HTTP 500 Internal Server Error-statuskoden blev sendt i første omgang. Årsagerne kan være:

  1. Problemer med serverens konfiguration eller programmering
  2. Fejl i ".htaccess"-filen
  3. Manglende eller beskadigede filer på serveren
  4. Overbelastning af serveren eller utilstrækkelige ressourcer som f.eks. CPU, RAM eller båndbredde
  5. Svært ved at oprette forbindelse til andre systemer eller databaser
  6. Sikkerhedsproblemer såsom DDoS-angreb eller malware-infektioner
  7. Applikations- eller rammefejl på serveren

Alle disse ting skal kontrolleres, afhængigt af hvilken ændring der blev foretaget sidst, bør dette kontrolleres først. Da årsagerne til en HTTP 500 Internal Server Error-statuskode kan være så forskellige, kan der ikke gives nogen generel anbefaling.

Alle disse ting skal kontrolleres, afhængigt af hvilken ændring der blev foretaget sidst.

Sådan opretter du din egen fejlside for statuskode 500

Det er relativt nemt at oprette din egen 500 Internal Server Error-fejlside med både Apache- og NGINX-webservere.

Apache Webserver

Webserveren "Apache" er en af de mest almindelige webservere på internettet. For at oprette din egen 500 Internal Server Error-fejlside i "Apache" skal du foretage følgende ændring i følgende fil.

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

NGINX Webserver

I lighed med webserveren "Apache" er "NGINX" også meget udbredt på internettet. For at oprette din egen 500 Internal Server Error-fejlside i "NGINX" skal du foretage følgende ændring i følgende fil.

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

Browserkompatibilitet for 500-statuskoden

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

Konstanter i programmeringssprog

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

Understatuskoder til 500-statuskoden

Substatuskoder er rent tekniske og bør aldrig sendes til brugeren. Hvis f.eks. statuskode 500.1 vises, kan det logges, men statuskode 500 sendes til brugeren.:
500.0 Module or ISAPI error occurred
HTTP IIS, Uofficiel
500.11 Application is shutting down on the web server
HTTP IIS, Uofficiel
500.12 Application is busy restarting on the web server
HTTP IIS, Uofficiel
500.13 Web server is too busy
HTTP IIS, Uofficiel
500.15 Direct requests for Global.asax aren't allowed
HTTP IIS, Uofficiel
500.19 Configuration data is invalid
HTTP IIS, Uofficiel
500.21 Module not recognized
HTTP IIS, Uofficiel
500.22 An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
HTTP IIS, Uofficiel
500.23 An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode
HTTP IIS, Uofficiel
500.24 An ASP.NET impersonation configuration does not apply in Managed Pipeline mode
HTTP IIS, Uofficiel
500.50 A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred
HTTP IIS, Uofficiel
500.51 A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred
HTTP IIS, Uofficiel
500.52 A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred
HTTP IIS, Uofficiel
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, Uofficiel
500.100 Internal ASP error
HTTP IIS, Uofficiel
Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webudvikler med en forkærlighed for HTTP-statuskoder.

LinkedInGitHub