L'errore 500 Internal Server Error è uno degli errori più comuni e capita molto spesso di incontrarlo.
E' un errore generico ed interno, un errore di stato HTTP che indica un'anomalia nel codice in esecuzione, in particolare, il server ha rilevato una condizione imprevista che gli ha impedito di soddisfare la richiesta.
A differenza degli errori 4xx che indicano un errore lato client, gli errori 5xx riguardano il codice presente sul server.
Cause dell'errore 500 Internal Server Error
I server generano tale errore in caso di malfunzionamento del sito e le cause sono le più disparate, di seguito una serie di esempi:
- plugin e temi dei CMS: plugin e temi di terze parti non aggiornati, vulnerabili o incompatibili che vanno in conflitto con altri elementi del CMS
- limite memoria PHP: il processo supera la capacità di memoria PHP preimpostata
- codice errato nel file .htaccess: il codice all'interno del file .htaccess non è corretto
- errore nei permessi: i permessi di file e cartelle non sono impostati in modo corretto
- timeout PHP: lo script tenta di caricare una risorsa esterna e va in un timeout
- errore di sintassi o di codice negli script: anche una sola istruzione scritta male genera tale errore
Soluzioni all'errore 500 Internal Server Error
L'errore 500 Internal Server Error è un avviso di errore generico, è quindi necessaria un'analisi per scoprirne le cause e trovare una possibile soluzione, di seguito le azioni da intraprendere:
- controllare il file error_log si trova all'interno della cartella di installazione del sito (solitamente la public_html) e riporta svariate tipologie di errori, bisogna porre attenzione ai Fatal Error che di solito si presentano così enunciati:
[29-May-2019 12:03:37 UTC] PHP Fatal error: Cannot redeclare class Mailchimp_Folders in /home/utente_cPanel/public_html/wp-content/plugins/wordpress-popup/vendor/mailchimp/mailchimp/src/Mailchimp/Folders.php on line 3
- attivare la funzione di debug nel CMS permette di far visualizzare a schermo i dettagli dell'errore risparmiando così tempo nell'individuazione della problematica, nel precedente link una guida approfondita, di seguito un esempio di codice per attivare il debug su Wordpress:
- verificare i permessi di file e cartelle che dovrebbero esser 0644 per i file e 0755 per le cartelle
- effettuare il backtrack delle ultime azioni