Questo errore può essere causato da molteplici ragioni, il miglior modo per risolverlo è sempre quello di controllare il registro errori del server.
I clienti di SiteGround posso farlo da cPanel, in Registro Errori. Lì troverai una lista degli ultimi messaggi di errore generati dal tuo sito web. Questa ti fornirà informazioni relative a ciascun errore, inclusi:
- La data e ora dell’errore;
- Descrizione dell’errore;
- Informazioni relative a quali file o cartelle stiano generando l’errore.
Di seguito le problematiche più comuni che solitamente generano un 500 Internal Server Error:
1
|
[Mon May 29 10:34:16.770700 2017] (13)Permission denied: [client 127.0.0.76] /home/user/public_html/.htaccess unable to check htaccess file, ensure it is readable
|
L’errore sopra riportato è solitamente causato dai permessi errati del file .htaccess o quelli della cartella in cui esso è contenuto (nell’esempio di seguito questa sarebbe la cartella public_html). Devi assicurarti che il file .htaccess abbia permessi 644 e che le tue cartelle abbiano permessi 755. Puoi facilmente modificare i permessi di tutti i file/cartelle via SSH, FTP o utilizzando il File Manager nel cPanel.
1
|
[Mon May 29 10:34:16.770700 2017] [client 127.0.0.76] /home/user/public_html/.htaccess: Invalid command, perhaps misspelled or defined by a module not included in the server configuration
|
L’errore rivela la presenza di direttive non corrette all’interno di .htaccess. Assicurati di eliminare le modifiche introdotte più recentemente in .htaccess: molto probabilmente sono loro la causa.
1
|
[Tue May 30 04:22:08.084009 2017] [core:error] [pid 23000] [client 82.118.240.253:40236] End of script output before headers: filename
|
Questo errore si presenta quando i permessi di uno dei tuoi file sono troppo estesi. Nell’esempio riportato, filename rappresenta appunto il nome del file in questione. Per risolvere il problema devi cambiare i permessi del file indicato, impostandoli a 644. Ovvero i permessi raccomandati per tutti i files del tuo sito web.
1
|
[Thu Apr 19 01:47:39 2017] [client 127.0.0.76] Premature end of script headers: /home/user/public_html
|
Diverse situazioni generano questo tipo di errore, causato appunto da una grande varietà di fattori differenti. Nonostante questo, il motivo principale è dovuto alla presenza di un file molto pesante nel sito web. Nel caso degli hosting condivisi su SiteGround, esiste un limite massimo nelle dimensioni dei files che possono essere aperti nel web. Il limite in questione è di 2GB e, se il tuo sito contiene files più grandi, risulterà l’errore sopra riportato.
Puoi controllare le dimensioni dei files via SSH, FTP o con il File Manager, così da poter identificare quello che genera l’errore. Molto spesso questi sono logs con errori PHP. Sui server di SiteGround un log file viene creato automaticamente nel caso in cui lo script PHP sul tuo sito genera un qualsivoglia errore non critico durante l’esecuzione. Il nome del file in questione è php_errorlog ed è situato nella stessa cartella dello script che ha prodotto l’errore. Di solito, la cartella in cui è presente il tuo sito.