Controlla i log per scoprire perché si verifica l'errore 500. Potrebbe esserci una voce nel file error.log che indica la causa del problema. Considera le opzioni più comuni.
Mancanza di risorse
Se questo è il motivo, il problema è risolto molto semplicemente: contatta il provider di hosting con una richiesta per aumentare le risorse.
La presenza di script non utilizzabili o un tempo limitato per la loro esecuzione
Se il server non riesce a elaborare gli script per un certo periodo di tempo, spesso un minuto, si verifica un errore interno del server 500.
Inoltre, i webmaster potrebbero riscontrare un errore simile se eseguono uno script CGI da Apache, se il tempo specificato nelle impostazioni del server non è sufficiente per eseguire lo script.
Se gli script funzionavano in precedenza e sono comparsi problemi, ad esempio durante il passaggio a un altro hosting, il problema potrebbe essere causato da altri motivi. Ad esempio, il fatto che il server blocchi le richieste.
Errori nell'impostazione dei diritti di accesso
Le autorizzazioni dei file devono essere 444 o 644. CHMOD per le cartelle non devediversi da 755, ovvero solo il proprietario della risorsa può visualizzarli. I permessi dello script devono essere impostati su 600. Altrimenti, per motivi di sicurezza, il server blocca l'accesso allo script, anche se è funzionante.
Se questo è il motivo dell'errore 500, usa il gestore FTP per modificare i permessi. Filezilla fa un ottimo lavoro con queste funzioni.
Il file.htaccess contiene direttive non supportate
Controlla se il file.htaccess è presente nella radice del sito o altrove. Se ce n'è uno, aprilo con qualsiasi editor di testo. Puoi usare Blocco note.
Potrebbe apparire l'errore 500 se stai utilizzando un server in esecuzione suPHP, ad es. supportando php.ini. Se nel file.htaccess sono presenti direttive che modificano le impostazioni dell'ambiente PHP, potrebbero sorgere problemi. Le direttive più comuni sono php_admin_flag, php_flag e php_value.
Le variabili globali sono spesso incluse come istruzioni - Register Globals.
Questo problema è stato risolto in modo molto semplice: i parametri indesiderati possono essere semplicemente eliminati. Un' altra opzione è commentarli aggiungendo un segnoall'inizio della riga. Ci deve essere uno spazio tra il cancelletto e il nome della direttiva.
Se devi assolutamente eseguire parametri commentati, puoi specificarli nel file php.ini. In questo caso, non è necessario utilizzare php_admin_flag, php_flag e php_value - basta designarli secondo il principio: "nome parametro richiesto=On".
Errore fatale PHP
Questo problema può verificarsi se PHP funziona come CGI. In questo caso, è necessario controllare attentamente il codice del programma, diagnosticare e correggere gli errori. Si noti che le terminazioni delle righe di script CGI non devono essere in formato Windows (r\n), ma devono essere in formato UNIX (n).
Se nessuna delle soluzioni suggerite risolve l'errore, contatta il tuo host. Spiegagli in dettaglio quando e dopo quali azioni è apparso l'errore 500. Chiedigli di indicare le cause del problema e aiutarlo a risolverlo. Nel caso in cui l'hoster non sia in grado di capire il motivo per cui si è verificato l'errore interno del server http 500, contattare il supporto del CMS in uso. Assicurati di includere tutti i dettagli nella lettera, incl. - commenti del provider di hosting sulla tua situazione.