fb-pixel
Logo Supporthost

Come risolvere l'errore 500

5 Agosto 2021 / Pubblicato in:  da Ivan Messina
Nessun commento

L'errore 500 può impedirti di accedere a una pagina o a un sito web. Quando si verifica questo errore, infatti, il server invia al browser un codice di stato HTTP error 500 per comunicare un problema generico che impedisce di raggiungere l'indirizzo richiesto.

Quando l'errore 500 ti impedisce di raggiungere un sito, la soluzione è quella di riprovare più tardi quando il problema sarà stato risolto.

Ma se l'errore 500 si verifica proprio sul tuo sito? Ci sono diverse verifiche che puoi fare per cercare di risolvere il prima possibile, in questo modo non avrai un impatto negativo sulle visite al tuo sito e, soprattutto, sulle vendite.

In questo articolo vedremo che genere di problema si nasconde dietro un errore 500. Esamineremo le possibili cause e vedremo quali soluzioni si possono attuare per risolvere alla svelta l'errore e far tornare il tuo sito online.

Per finire vedremo anche come aggirare la presenza dell'errore 500 nel caso in cui tu non sia il proprietario del sito, ma voglia soltanto accedere a una risorsa temporaneamente irraggiungibile.

Cos'è un errore 500

La definizione dell'errore 500 data dall'IETF (Internet Engineering Task Force) è la seguente:

Il codice di stato 500 (Internal Server Error) indica che il server ha riscontrato una condizione inaspettata che gli ha impedito di soddisfare la richiesta. (RFC7231)

Errore 500

Partiamo quindi con ordine, che cos'è un codice di stato HTTP?

Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Prova gratis

Per permetterci di raggiungere un indirizzo, il browser deve inviare una richiesta al server su cui è ospitato il sito. Il server, in risposta, restituisce un codice per comunicare l'esito della richiesta.

I codici di stato HTTP sono composti da 3 cifre, la prima delle quali indica la categoria:

1XX: i codici di stato che iniziano per 1 sono quelli informativi. Indicano che la richiesta è stata ricevuta e devono ancora elaborarla.

2XX: questi codici sono quelli di conferma, ciò significa che la richiesta è stata ricevuta ed elaborata.

3XX: sono i codici di reindirizzamento che vengono utilizzati quando una risorsa è stata spostata temporaneamente (redirect 302) o definitivamente (come nel caso dei redirect 301)

4XX: questi codici indicano errori del client, come ad esempio l'errore 403 e l'errore 404 che indica una risorsa non trovata.

5XX: si tratta della categoria di errori del server. Ne fanno parte l'errore 502 bad gateway, 504 gateway time-out, l'errore 503 e l'errore 508, così come l'errore 500.

Queste sono quindi le cinque categorie di codici di stato HTTP standard. Ci sono poi altri codici sempre decimali che forniscono ulteriori dettagli sullo stato della richiesta.

Un esempio è dato dai server Microsoft IIS (Internet Information Services) che nel caso dell'errore 500 permettono di entrare più nello specifico riguardo alle cause dell'errore.

  • 500.0: l'errore è in un modulo o nell'ISAPI
  • 500.11: una delle applicazioni sul server sta per essere arrestata
  • 500.12: segnala il riavvio di un'applicazione
  • 500.13: sovraccarico del server
  • 500.15: richiesta per il file global.asax non ammessa
  • 500.19: i dati della configurazione non risultano essere validi
  • 500.21: uno dei moduli non è stato riconosciuto
  • 500.22: la configurazione di un modulo HTTP di un'applicazione web ASP.NET non è valida in modalità Pipeline gestita
  • 500.23: la configurazione di un elemento handlers HTTP di un'applicazione web ASP.NET non è valida in modalità Pipeline gestita
  • 500.24: problemi con la configurazione di un cambio di identità in modalità Pipeline gestita
  • 500.50: c'è stato un errore di riscrittura durante l’elaborazione del messaggio RQ_BEGIN_REQUEST
  • 500.51: c'è stato un errore di riscrittura durante l’elaborazione del messaggio GL_PRE_BEGIN_REQUEST
  • 500.52: c'è stato un errore di riscrittura durante l’elaborazione del messaggio RQ_SEND_RESPONSE
  • 500.53: c'è stato un errore di riscrittura durante l’elaborazione del messaggio RQ_RELEASE_REQUEST_STATE
  • 500.100: l'errore si è verificato all'interno dell'applicazione ASP.

L'errore 500 può presentarsi in diversi modi, ecco alcune delle varianti più comuni in cui puoi imbatterti:

  • Errore 500 Internal Server Error
  • HTTP 500 Internal Error
  • HTTP Error 500
  • Internal Server Error
  • The website cannot display the page
  • HTTP 500 – Internal Server Error
  • Internal Server Error 500
  • 500 Error
  • 500 Server Error
  • 500 Internal Server Error. Sorry something went wrong.
  • Temporary Error (500)
  • Errore 500 interno al server
  • Errore 500 HTTP
  • Error 500 Internal Server Error
  • Errore HTTP 500
  • Si è verificato un errore durante la richiesta dei dati (500)

Il messaggio di errore può cambiare sia da un server all'altro che su diversi browser. Nella schermata qui sotto puoi vedere un esempio dell'errore su Google Chrome.

Errore 500

Altri browser, come Firefox, invece, potrebbero anche mostrarti semplicemente una schermata bianca come questa.

Errore 500 Schermata Bianca Firefox

Cause dell'errore 500

L'errore 500 può derivare da diverse cause che vanno da un errore nel file .htaccess fino a un'indisponibilità del server per manutenzione. In questo paragrafo esamineremo alcune delle cause più comuni che possono generare questo tipo di errore. Nel successivo, invece, andremo a vedere come procedere passo passo per risolvere.

Errori nel file .htaccess

Il file .htaccess viene utilizzato per inserire delle direttive per i server Apache. Ad esempio si può usare il file .htaccess per implementare dei reindirizzamenti 301.

La presenza di un errore, ad esempio un comando errato oppure anche un errore di sintassi o di scrittura, all'interno di questo file può far sì che il server risponda con un errore 500.

Errori nei permessi

Per tutti i file e le cartelle sul server si possono stabilire dei permessi, in questo modo si determina quali utenti hanno i permessi di lettura, scrittura ed esecuzione dei file.

Ad esempio per quanto riguarda le autorizzazioni per file e cartelle di WordPress si dovrebbero usare questi permessi:

  • 644 o 640 per i file
  • 755 o 750 per le cartelle.

Un errore nei permessi può essere la causa di un errore 500.

Problemi con uno script

Un errore nella sintassi oppure nel codice di uno script, ma anche nell'impostazione dei percorsi può causare un errore 500. Inoltre si possono avere problemi con gli script Perl se sono stati caricati in modalità binaria, anziché in ASCII, o se non sono stati installati i moduli necessari.

Problemi con il server

L'errore 500 può essere dovuto a problemi con il server, ad esempio se si registra un sovraccarico del server oppure per via della manutenzione. In questi casi puoi aspettare e riprovare a ricaricare la pagina dopo un po' di tempo, oppure contattare il tuo provider.

Problemi di compatibilità con plugin e temi

Quando utilizzi un CMS con estensioni, plugin o temi, una situazione comune in cui potresti ritrovarti è un errore 500 subito dopo l'installazione di una di queste componenti.

Per capire rapidamente se la causa dell'errore 500 è un plugin puoi disattivarli tutti temporaneamente. Puoi farlo direttamente dalla dashboard, ma se non riesci ad accedere, ci sono anche altri metodi, come vedremo dopo, nella sezione dedicata alle soluzioni dell'errore 500.

Problemi con i file del core di WordPress

Sebbene l'errore 500 non sia collegato direttamente alla piattaforma che stai utilizzando, ci sono casi in cui il problema può derivare dai file del CMS.

Ad esempio nel caso di WordPress è possibile che i file del core siano stati danneggiati e sia necessario ripristinarli. In questo caso dovrai quindi procedere a reinstallare WordPress senza perdere i contenuti creati finora.

Ricordati che prima di procedere, per evitare di perdere i tuoi contenuti, è fondamentale fare un backup.

Problemi con il database

Un errore 500 può derivare da un problema con il database. Tra i casi più comuni per cui puoi ritrovarti ad avere il sito down ricordiamo:

  • credenziali di accesso al database sbagliate
  • database corrotto
  • sovraccarico del server del database.

Limite di memoria PHP

Se uno script supera la soglia di memoria, il processo viene inibito e puoi trovarti davanti a un errore 500.

Come risolvere l'errore 500

Oltre a esaminare le possibili cause che abbiamo appena visto ci sono altre verifiche che possiamo fare per determinare l'origine dell'errore 500. Per prima cosa partiamo dall'analisi dei file di log, per poi vedere come risolvere praticamente i problemi comuni che abbiamo visto prima.

Controllare i file di log

La causa dell'errore 500 potrebbe non rientrare nell'elenco di cause comuni che abbiamo appena esaminato. Per questo motivo una delle prime cose da fare è andare a controllare gli error log o registri di errore del server.

Accedi ai file del sito, ad esempio attraverso il file manager di cPanel, e cerca un file come questo "error_log":

Error Log File Manager

Con WordPress puoi anche attivare la modalità di debug aggiungendo questo codice al file wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Verificare i permessi di file e cartelle

Dovresti assicurarti che file e cartelle sul server abbiano i permessi adeguati. Ad esempio nel caso di WordPress i file dovranno avere i permessi 644 o 640, mentre le cartelle dovrebbero essere 755 o 750.

Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Prova gratis

Puoi verificare ed eventualmente modificare i permessi dei file in diversi modi. Ad esempio puoi utilizzare il file manager di cPanel. Con tutti i nostri piani hosting condiviso, hosting WordPress, VPS cloud hosting e server dedicati puoi gestire comodamente i file del sito dal file manager.

Accanto ad ogni file vedrai una colonna con su scritto Permissions e indicati i permessi del file. In questo nostro esempio tutti i file sono impostati a 644 e le cartelle a 755.

Se vuoi cambiare i permessi ti basta cliccare sul numero corrispondente al file da modificare, digitare il nuovo codice e cliccare su Save come vedi in questa schermata:

Modificare Permessi Cpanel

Puoi anche cambiare i permessi dei file con un client FTP. Ad esempio puoi vedere come fare con Filezilla, nella nostra guida dedicata a uno dei client FTP più utilizzati.

Permessi File Filezilla

HTTP error 500 e problemi con il file .htaccess

Come abbiamo detto prima, una delle cause di un errore interno del server può essere un errore all'interno del file .htaccess.

Per verificare se la causa è proprio il file .htaccess ti basterà rinominarlo temporaneamente. Puoi farlo sempre utilizzando il file manager o accedendo al server via FTP.

Se utilizzi il file manager di cPanel e non riesci a trovare il file dovrai controllare le impostazioni e assicurarti che l'opzione Mostra file nascosti (dotfiles) sia attivata.

Mostra File Nascosti File Manager

Dopo aver individuato il file .htaccess ti basterà rinominarlo e verificare se l'errore 500 si è risolto.

Rinominare File Htaccess

Se l'errore 500 non compare più dopo aver rinominato il file .htaccess, dovrai individuare e correggere l'errore al suo interno. Dopodiché potrai rinominare di nuovo il file con il nome originario (.htaccess).

Modificare il limite di memoria PHP

Se uno dei processi attivi sul tuo sito sta superando il limite di memoria PHP, potresti visualizzare un errore 500.

In questo caso puoi modificare il limite di memoria per capire se è proprio questa la causa dell'errore. Ci sono diversi modi per farlo, uno dei più semplici è procedere direttamente da cPanel.

Dopo aver effettuato il login a cPanel clicca su Select PHP version dalla sezione Software.

Select Php Version

Questo strumento ci permette di cambiare la versione PHP e di modificare il limite di memoria.

Clicca sulla scheda Options e scorri fino alla voce memory_limit, quindi imposta il limite di memoria PHP in base alle opzioni che ti consente il menu a tendina.

Modificare Limite Di Memoria Php

Disattivare i plugin

A volte l'attivazione di un nuovo plugin o di un tema può causare un errore 500. Per capire se la causa dell'errore è un plugin puoi disattivare temporaneamente tutti i plugin e vedere se l'errore si risolve.

Puoi disattivare i plugin WordPress in diversi modi: dalla dashboard, attraverso il pannello di controllo (o via FTP), ma anche utilizzando phpMyAdmin o attraverso WP-CLI.

Dopo aver disattivato tutti i plugin verifica se l'errore 500 si è risolto. In questo caso dovrai riattivare uno alla volta i plugin e verificare se l'errore si ripresenta per individuare il plugin responsabile.

Disattivare i plugin dalla dashboard

Il modo più semplice per disattivare tutti i plugin è farlo direttamente dalla dashboard:

  • spunta la casella per selezionare tutti i plugin
  • dal menu a tendina delle Azioni di gruppo scegli Disattiva
  • poi clicca sul pulsante Applica e tutti i plugin verranno disattivati.
Disattivare Plugin WordPress Dashboard

Se non riesci ad accedere alla dashboard ci sono altri sistemi che ti permettono di disattivare i plugin.

Disattivare i plugin dal file manager

Puoi disattivare tutti i plugin semplicemente rinominando la cartella che li contiene. Puoi accedere ai file del tuo sito dal file manager di cPanel o usando un client FTP come Filezilla.

In genere il percorso della cartella plugins è questo: /public_html/wp-content/plugins. Rinominala, come vedi in questo esempio e verifica se l'errore 500 si verifica ancora.

Rinominare Cartella Plugins

Dopodiché dovrai rinominare di nuovo la cartella, utilizzando il nome originario e potrai riattivare manualmente i plugin dalla dashboard di WordPress.

Disattivare i plugin con phpMyAdmin

Possiamo usare phpMyAdmin per disattivare i plugin direttamente dal database. In questo caso ricordati che prima di apportare modifiche al database è sempre opportuno creare un backup.

Per disattivare i plugin ci basta aprire la tabella wp_options e andare a modificare il record active_plugins inserendo a:0:{} all'interno del valore option_value.

Puoi seguire la procedura passo passo nella nostra guida a phpMyAdmin per WordPress.

Disattivare i plugin con WP-CLI

WP-CLI ci consente di gestire le nostre installazioni WordPress da linea di comando. Con un solo comando è possibile disattivare tutti i plugin:

wp plugin deactivate --all

Anche in questo caso potrai verificare se l'errore dipende da uno dei plugin e andare a riattivarli uno ad uno dalla dashboard.

Contattare l'assistenza

Se non riesci a risalire alle cause dell'errore 500 puoi sempre contattare il supporto, indicare le verifiche che hai già fatto e riuscire a trovare insieme all'assistenza una soluzione al problema.

In alternativa se vuoi affidare la gestione tecnica del sito a un team di professionisti puoi pensare di passare a una soluzione di WordPress gestito. In questo modo la risoluzione di errori di questo tipo, così come le operazioni di manutenzione del tuo sito saranno affidati a mani esperte.

Come risolvere da utente

Le soluzioni che abbiamo visto si possono applicare nel caso in cui l'errore 500 si verifichi sul tuo sito.

Se, invece, l'errore 500 compare sul sito che stai cercando di visitare c'è ben poco da fare.

Trattandosi di un errore lato server, non dipende dalla tua connessione o dal dispositivo che stai utilizzando. Provando ad accedere da un altro dispositivo o da un altro browser, infatti, ti ritroverai davanti allo stesso errore.

Puoi provare a verificare lo stato del sito con un servizio gratuito come Down for Everyone or Just Me che ti permette di capire se il sito è online o no.

In questi casi, quindi, non ti resta che aspettare e provare a collegarti di nuovo al sito più tardi. Se hai necessità di accedere al contenuto della pagina puoi sempre sfruttare la Google cache per accedere alla versione del sito memorizzata nella cache del motore di ricerca.

Conclusioni

Come abbiamo visto l'errore 500 è un errore del server che si presenta quando qualcosa va storto e rende impossibile raggiungere il sito desiderato.

Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Prova gratis

Trattandosi di un errore generico, il browser non offre maggiori informazioni su cosa ha causato il problema, ma si limita a indicare il codice di stato HTTP error 500, o in altri casi ti mostra solo una schermata bianca. Per questo motivo, l'unico modo per risolvere è escludere una ad una le possibili cause.

In questo articolo abbiamo visto quali sono le cause più comuni dell'errore 500, e abbiamo esaminato i possibili modi per risolverlo nel caso in cui il problema si verifichi sul tuo sito. Se, invece, ti imbatti nell'errore da semplice visitatore di un sito, c'è un piccolo trucco che puoi utilizzare per accedere comunque alle risorse che cercavi.

Ti è mai capitato di vedere un errore 500 sul tuo sito? Come hai risolto? Fammi sapere nei commenti se le soluzioni in questo articolo ti hanno aiutato a risolvere o se hai usato qualche altro metodo, così potremo aggiungere altre soluzioni.

immagine autore

Ivan Messina

Fondatore di SupportHost. Con oltre 10 anni di esperienza nel web hosting, lavora ogni giorno per migliorare il servizio e riservare attenzione a ogni singolo cliente.

Articoli Correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

chevron-down