HTTP 500 Internal Server Error: Què L’està Causant I Com Es Soluciona
Joan Vega
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.
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.
Pantalla d’error genèric 500 en el navegador Chrome
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:
Firefox no mostra missatges d’error 500
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″
Error 500 genérico mostrado en el navegador Edge
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:
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 );
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.