L’Internal Server Error HTTP 500 ocorre típicament quan el servidor troba una condició inesperada que li impedeix complir la sol·licitud. Aquest post t’ajudarà a entendre les causes de l’error i a trobar solucions apropiades.
Table of Contents
- Què És El HTTP 500 Internal Server Error?
- La White Screen Of Death De l’Error 500
- Causes Del 500 Internal Server Error
- Com resoldre l’error intern 500
- Tots els Codis d’estat HTTP
Què És El HTTP 500 Internal Server Error?
Es considera un error general en el costat del servidor a causa d’un problema no especificat. Dels Estàndards RFC, tenim aquesta definició:
El codi d’estat 500 (Internal Server Error) indica que el servidor ha trobat una condició inesperada que li ha impedit complir la sol·licitud.
RFC 7231: Protocol de transferència d’hipertext (HTTP/1.1): Semàntica i contingut (rfc-editor.org)
No és un error en la teva connexió o navegador. En lloc d’això, significa que alguna cosa ha anat malament amb el lloc web.
La White Screen Of Death De l’Error 500
La “White Screen Of Death” (WSOD) és un terme utilitzat per descriure l’error 500 HTTP, i altres codis d’error HTTP 5XX quan el servidor no pot servir cap contingut a l’usuari. Alguns navegadors com Safari o Firefox presenten aquesta pantalla en blanc:
Alternativament, existeixen navegadors que tradueixen l’error intern 500, mostrant diferents missatges informatius.
Diferents Missatges D’Error 500
Encara que aquest error pot aparèixer de moltes maneres, totes signifiquen el mateix. A continuació, es mostren alguns exemples de com podríeu veure un error 500 HTTP
.
- “500 – Error intern del servidor”
- “Error 500”
- “Error intern del servidor 500. Ho sentim, alguna cosa ha anat malament.”
- “500 – Error intern del servidor”
- “500. Això és un error. Hi va haver un error. Si us plau, intenta-ho de nou més tard. Això és tot el que sabem.”
- “HTTP 500 – Error intern del servidor”
- “HTTP 500”
- “Error HTTP 500”
- “Error intern del servidor”
- “Aquesta pàgina no està funcionant en aquest moment. HTTP ERROR 500.”
- “Aquesta pàgina no està funcionant. – localhost no pot manejar aquesta sol·licitud en aquest moment. – HTTP ERROR 500″
Quan s’habilita l’opció de mostrar errors a l’usuari i l’execució no s’interromp, el servidor pot proporcionar informació més detallada sobre els errors que quan l’usuari es troba amb una WSOD (White Screen Of Death).
En aquests casos, el servidor pot mostrar detalls crucials relacionats amb l’error, com l’arxiu i el número de línia on va ocórrer l’error, una descripció de l’error i, a vegades, una traça de pila.
La següent captura de pantalla mostra un exemple d’això, detallant un error intern del servidor 500 en una pàgina de WordPress:
En la següent secció, trobaràs diversos escenaris que poden provocar l’aparició de l’error 500.
Causes Del 500 Internal Server Error
- Error de base de dades en intentar recuperar dades. Per exemple, una base de dades corrupta o una sintaxi SQL incorrecta.
- L’aplicació llença un error, com un error de temps d’execució, per exemple, una memòria PHP insuficient o un temps d’execució PHP exhaurit.
- Hi ha un error en el codi de l’aplicació. Per exemple, PHP intenta incloure un arxiu que no existeix, o una divisió per zero interromp l’execució.
- El teu hardware del servidor podria tenir un problema. Per exemple, tens arxius corruptes degut a una fallada al disc.
- Hi ha un problema amb el software del servidor. Per exemple,
php-fpm
està mal configurat o la versió actual té un error.
Com resoldre l’error intern 500
Tal com es va mencionar a la secció anterior, les causes de l’error 500 poden ser diverses i no sempre són evidents en el navegador.
Per solucionar-lo, verifica els registres d’errors o imprimeix-los al navegador per obtenir un diagnòstic més detallat.
En el que respecta als
Errors interns del servidor 500
,
no hi ha una solució única per a tots.Verificar els registres d’errors pot ajudar a identificar la causa arrel.
Com obtenir més detalls sobre els errors en PHP
La resposta és senzilla: mostrar els errors o inspeccionar els registres. L’última opció és preferible, ja que un Internal Server Error 500 a vegades pot provocar que l’execució es interrompi, el que resulta en res més que una WSOD (White Screen Of Death).
Ei, només una cosa!
Si tens un lloc web de WordPress allotjat en un servidor Wetopi,
pots accedir fàcilment als teus registres amb
només un clic del teu ratolí.
Per habilitar els registres, aquí tens dues opcions: la primera per a aplicacions PHP genèriques i la segona per a llocs web que executen WordPress.
Com mostrar i registrar errors en aplicacions PHP senzilles
- Habilitar la notificació d’errors: afegir la següent línia a l’inici del teu script PHP:
error_reporting(E_ALL);
- Mostra errors afegint això:
ini_set('display_errors', 1);
- I registra errors establint aquestes dues opcions:
ini_set('log_errors', 'On');
ini_set('error_log', '/ruta/a/php_errors.log');
A més, també pots establir aquestes directrius en l’arxiu de configuració PHP php.ini
.
error_reporting = E_ALL
display_errors = On
log_errors = On
error_log = /ruta/a/php_errors.log
Com mostrar errors de PHP a WordPress
Pots utilitzar la constant WP_DEBUG a l’arxiu wp-config.php per mostrar errors de PHP amb WordPress. Això activarà el mode de depuració a WordPress i mostrarà tots els errors, advertències i avisos de PHP a la pantalla.
- Localitza l’arxiu
wp-config.php
: Aquest arxiu es troba al directori arrel de la instal·lació de WordPress. - Obre l’arxiu
wp-config.php
: Pots obrir aquest arxiu utilitzant un editor de text com ara Notepad, TextEdit o Sublime Text. - Afegeix la constant WP_DEBUG per mostrar els errors:
define('WP_DEBUG', true);
- O bé, habilita el registre de depuració a /wp-content/debug.log amb aquesta següent constant:
define( 'WP_DEBUG_LOG', true );
- Desa l’arxiu wp-config.php.
Pots obtenir una explicació més detallada i configuracions refinades en la documentació de depuració de WordPress de wordpress.org.
Microsoft Internet Information Services (IIS) mostra detalls de l’error 500
Si el teu servidor web és Microsoft IIS, les versions 7.0 i posteriors tenen un subconjunt de codis d’error HTTP 500.XX que indiquen una causa més específica de l’error 500. Aquesta subcategoria de codis d’error 500 t’ajudarà a identificar la causa de l’error.
Un últim consell:
Quan Inspeccionis Registres, Mira Al Lloc Correcte
Quan ocorri un error intern del servidor 500 en PHP, es considera un missatge de nivell d’Error en lloc d’una Advertència o Avís. Per tant, en examinar registres o pantalles de depuració per a fins de solució de problemes, concentrat exclusivament en els Errors i omet els missatges d’Advertència i Avís.
Tots els Codis d’estat HTTP
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status
208 Already Reported
226 IM Used
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
307 Temporary Redirect
308 Permanent Redirect
402 Payment Required
404 Not Found
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
411 Length Required
412 Precondition Failed
413 Payload Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
418 I’m A Teapot
421 Misdirected Request
422 Unprocessable Entity
423 Locked
424 Failed Dependency
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
444 Connection Closed Without Response
451 Unavailable For Legal Reasons
501 Not Implemented
505 HTTP Version Not Supported
506 Variant Also Negotiates
507 Insufficient Storage
508 Loop Detected
510 Not Extended
511 Network Authentication Required
599 Network Connect Timeout Error
Resumidament, som uns techies apassionats per WordPress que hem creat Wetopi, un Hosting WordPress Gestionat, per minimitzar la fricció a la que tot professional s’enfronta en treballar i allotjar projectes WordPress.
Inclou servidors de desenvolupament Gratis.
No cal tarjeta de crèdit.