500

Internal Server Error

Oficialus Substatuto kodai
Nenustatyta vidinė serverio klaida

Bendras būsenos kodo 500 paaiškinimas

Deja, šis teksto blokas pateikiamas tik anglų kalba.

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.

HTTP būsenos kodo 500 specifikacija

500 Internal Server Error būsenos kodas rodo, kad serveris susidūrė su netikėta sąlyga, dėl kurios negalėjo įvykdyti užklausos.

Šaltinis / citata iš: HTTP būsenos kodas 500 Internal Server Error nurodytas 6.6.1 skirsnyje 6.6.1.

Kaip naudojant PHP išmesti 500 būsenos kodą?

Norint žiniatinklio puslapyje nurodyti HTTP būsenos kodą 500, galima naudoti PHP funkciją http_response_code. Sintaksė tokia: http_response_code(500) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

HTTP būsenos kodo 500 testavimas

Kad kliento pusėje būtų galima rodyti HTTP būsenos kodą (šiuo atveju 500 Internal Server Error) ir kitą informaciją, kūrimo konsolę reikia atidaryti klavišu F12. Tada pereikite prie skirtuko "Network" (tinklas). Dabar galima atidaryti puslapį, tinklo skirtuke turi būti matoma svetainė (pavyzdys index.php). Ją reikia pasirinkti, o tada reikia pasirinkti skyrių Herder (Herderis). Tada naudotojas matys tokį rezultatą:

Būsenos kodas 500 Internal Server Error
Apžvalga
URL: https://http-statuscode.com/errorCodeExample.php?code=500
Statusas: 500 Internal Server Error
Šie: Network
IP adresas: XX.XX.XX.XX
Būsenos kodas 500 Internal Server Error

Kaip išspręsti 500 būsenos kodo problemą?

Norint ištaisyti HTTP 500 Internal Server Error klaidą, pirmiausia reikia išsiaiškinti, kodėl buvo išmestas HTTP 500 Internal Server Error būsenos kodas. Priežastys gali būti:

  1. Serverio konfigūracijos arba programavimo problemos
  2. Klaidos ".htaccess" faile
  3. Dingę arba sugadinti serverio failai
  4. Serverio perkrovimas arba nepakankami ištekliai, pavyzdžiui, CPU, RAM ar pralaidumo
  5. Sunkumai jungiantis prie kitų sistemų ar duomenų bazių
  6. Saugumo problemos, pavyzdžiui, DDoS atakos ar kenkėjiškų programų užkrėtimas
  7. Serverio programų ar struktūrų klaidos

Visus šiuos dalykus reikia patikrinti, priklausomai nuo to, kuris pakeitimas buvo atliktas paskutinis, tai reikėtų patikrinti pirmiausia. Kadangi HTTP 500 Internal Server Error būsenos kodo priežastys gali būti labai įvairios, bendrų rekomendacijų pateikti negalima

Visus šiuos dalykus reikia patikrinti, priklausomai nuo to, kuris pakeitimas buvo atliktas paskutinis.

Kaip sukurti savo klaidų puslapį, kuriame būtų rodomas būsenos kodas 500

Sukurti savo 500 Internal Server Error klaidos puslapį gana paprasta naudojant tiek "Apache", tiek "NGINX" žiniatinklio serverius.

Apache Webserver

Interneto serveris "Apache" yra vienas iš labiausiai paplitusių interneto svetainių serverių. Norėdami sukurti savo 500 Internal Server Error klaidos puslapį "Apache", šiame faile reikia atlikti toliau nurodytus pakeitimus.

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

NGINX Webserver

Panašiai kaip ir žiniatinklio serveris "Apache", "NGINX" taip pat plačiai naudojamas internete. Norėdami sukurti savo 500 Internal Server Error klaidos puslapį "NGINX", šiame faile reikia atlikti toliau nurodytus pakeitimus.

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

500 būsenos kodo suderinamumas su naršyklėmis

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

Konstantos programavimo kalbose

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

500 būsenos kodo būsenos poaibio kodai

Papildomi būsenos kodai yra grynai techninio pobūdžio ir niekada neturėtų būti siunčiami naudotojui. Pavyzdžiui, jei išmetamas būsenos kodas 500.1, jis gali būti registruojamas, tačiau naudotojui bus siunčiamas būsenos kodas 500.:
500.0 Module or ISAPI error occurred
HTTP IIS, Neoficialus
500.11 Application is shutting down on the web server
HTTP IIS, Neoficialus
500.12 Application is busy restarting on the web server
HTTP IIS, Neoficialus
500.13 Web server is too busy
HTTP IIS, Neoficialus
500.15 Direct requests for Global.asax aren't allowed
HTTP IIS, Neoficialus
500.19 Configuration data is invalid
HTTP IIS, Neoficialus
500.21 Module not recognized
HTTP IIS, Neoficialus
500.22 An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
HTTP IIS, Neoficialus
500.23 An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode
HTTP IIS, Neoficialus
500.24 An ASP.NET impersonation configuration does not apply in Managed Pipeline mode
HTTP IIS, Neoficialus
500.50 A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred
HTTP IIS, Neoficialus
500.51 A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred
HTTP IIS, Neoficialus
500.52 A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred
HTTP IIS, Neoficialus
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, Neoficialus
500.100 Internal ASP error
HTTP IIS, Neoficialus

Išorinės nuorodos, kuriose pateikiama daugiau informacijos apie HTTP būsenos kodą 500:

Autorius: Tony Brüser
Autorius: Tony Brüser

Tony Brüseris yra entuziastingas žiniatinklio kūrėjas, mėgstantis HTTP būsenos kodus.

LinkedInGitHub