Un errore 500 significa che c’è un errore nel codice PHP che il vostro sito esegue. Quando gli errori non vengono individuati, il server arresta tutto e rimanda alla pagina indicante “errore 500”. Diversi server sono configurati per visualizzare questi errori 500 in modo leggermente diverso, ma hanno tutti lo stesso significato: è presente un errore PHP non gestito nel codice del sito.

Cosa provocano gli errori 500 e come risolverli

Innanzitutto dovete individuare gli errori. Supporre che problema possa essere e provare diverse soluzioni può portare a peggiorare la situazione. Se scorgete degli errori 500, il primo passo da fare è attivare il debug. Potete farlo aggiungendo poche righe al file wp-config.php del sito. Con il registro degli errori attivo visualizzerete qual è il problema attuale.

Memoria esaurita

La causa più frequente degli errori 500 è la mancanza di memoria del vostro server. Questo può succedere se se la parte di memoria era marginale prima di aver attivato un plug-in e con quel plug-in attivato non c’è memoria sufficiente.

Nel file del registro degli errori visualizzerete qualcosa come:

Allowed memory size of YOUR_LIMIT bytes exhausted (tried to allocate SOME_MEMORY bytes) in... [Dimensioni della memoria consentite di VOSTRO_LIMITE byte esaurite (si è provato ad allocare DELLA_MEMORIA byte]

Se il primo numero (YOUR_LIMIT) è inferiore a 128M, significa che dovreste incrementare la quantità di memoria allocata a PHP. Spesso potete incrementare la quantità di memoria disponibile, come descritto nella documentazione sulle impostazioni della memoria di WordPress.

Tuttavia, se il numero YOUR_LIMIT è molto alto o se l’aumento non aiuta, il codice potrebbe essere eseguito in un loop infinito (le funzioni si chiamano reciprocamente in un loop infinito). Per eseguire il debug di qualcosa di simile, utilizzate il nostro forum di supporto tecnico. Spiegate il problema, mostrate l’errore PHP e i nostri supporter vi aiuteranno.

Conflitto di codice

La seconda causa più popolare di un errore fatale di PHP è il conflitto tra diversi plug-in e temi. Ciò può manifestarsi in molti errori diversi, a seconda delle funzioni esatte che entrano in conflitto.

Dal momento che il vostro sito è bloccato in uno stato di errore 500, non potete utilizzare l’amministratore di WordPress per apportare modifiche, localizzare e risolvere i problemi. Utilizzate un programma FTP e andate sulla directory dei plug-in (wordpress>wp-content>plugins). Eliminate qualsiasi plug-in che sospettate essere collegato con il conflitto. Potete eliminare in sicurezza anche i plug-in di WPML. L’eliminazione dei plug-in di WPML non modifica le informazioni linguistiche nel vostro sito. Dopo aver risolto il conflitto, riattivate WPML e verranno ripristinate tutte le informazioni linguistiche.

Compatibilità con le versioni di WordPress

Il problema popolare successivo è la compatibilità con le versioni di WordPress. Il team di WPML rilascia sempre versioni prima delle nuove versioni di WordPress. Assicuratevi di aggiornare WPML per la versione di WordPress in esecuzione. È sempre una buona idea eseguire la nuova versione di WordPress (più stabile e sicura) con la versione più recente di WPML. Prima di eseguire l’upgrade consigliamo di effettuare un upgrade test su una copia test del vostro sito. Ciò vi aiuterà ad accertarvi che il vostro tema e TUTTI i plug-in sono completamente compatibili con la nuova versione di WordPress.

Compatibilità con le versioni PHP e le estensioni PHP

WPML funziona su un’ampia gamma di versioni PHP (per i dettagli completi visualizzate i requisiti minimi). La creazione PHP standard è dotata di un elenco di estensioni predefinite. In alcuni casi rari, le società di hosting hanno disattivato alcune estensioni che non piacevano loro. Se succede questo, visualizzerete degli errori indicanti che l’estensione o la funzione non esiste.

Quando scorgete qualcosa di simile, è meglio segnalarlo sul nostro forum di assistenza tecnica. I nostri supporter cercheranno e risolveranno il problema e vedranno cosa manca. Poi lavoreremo con il vostro provider di hosting per attivare ciò che manca.