La guida definitiva per la risoluzione di 500 errori interni del server e pagine bianche vuote in WordPress

La guida definitiva per la risoluzione di 500 errori interni del server e pagine bianche vuote in WordPress / Wordpress e sviluppo Web

Il 500 Errore interno del server è la rovina più inutile e non descrittiva degli sviluppatori Web di tutto il mondo. È un messaggio di errore generale che può letteralmente significare nulla. A volte, il tuo sito WordPress non dà alcun errore e mostra solo una pagina vuota. Come diavolo dovresti scoprire cosa c'è che non va?

Succede al meglio di noi, ma non c'è bisogno di andare nel panico. Ecco il mio processo di debug, in ordine di probabilità e con soluzioni.

plugin

Se hai appena installato un nuovo plug-in o se il tuo sito mostra 500 errori dopo un aggiornamento core di WordPress, la causa più probabile è un plug-in incompatibile. Ci sono molte ragioni per cui un plugin è “rotto”:

  • WordPress potrebbe aver rimosso alcune funzioni fondamentali utilizzate dal plugin.
  • Il plugin potrebbe essere stato codificato per una vecchia versione di PHP e non è stato aggiornato.
  • Potrebbe semplicemente essere codificato in modo errato, facendo riferimento a nomi di database predefiniti piuttosto che utilizzando prefissi, ad esempio.

Identificare il plugin è facile se ne hai appena installato uno e l'errore è emerso, ma come puoi disabilitare il plugin se viene rimosso wp-admin area del tuo sito? Avrai bisogno di un accesso FTP, è la risposta breve, anche se il file manager basato su web di CPanel o di Plesk funzionerà bene.

Soluzione:

Tutto quello che devi fare è rinominare il wp-content / plugins / cartella. Posizionare un _ di fronte alla cartella dei plugin, così è chiamato _plugins, e ora dovresti essere in grado di accedere nuovamente alla tua area amministrativa di WordPress. Rinominando la cartella, hai effettivamente disattivato ogni plug-in: dovresti ricevere un sacco di messaggi di errore da WordPress “Il plugin X è stato disattivato perché il file Y.php non può essere trovato”. Non ti preoccupare, non avrai perso nessuna impostazione - quelle sono memorizzate nel database, e qualsiasi plugin decente dovrebbe trovarle di nuovo dopo la riattivazione.

Rinominare la cartella nuovamente, rimuovendo il _. Aggiorna i plugin di WordPress e saranno tutti elencati di nuovo, ma in uno stato disattivato. Ora puoi riattivarli uno per uno finché non trovi il colpevole; poi fai di nuovo tutto, ovviamente stavolta non riesci a vedere il plugin cattivo.

È sfortunato quando ciò accade, ma è probabile che esista un plug-in migliore compatibile. Trovalo.

Tema incompatibile

Disabilitare i plugin non ha aiutato? Probabilmente è qualcosa nel tuo tema, quindi. Proprio come i plugin, puoi forzare l'interruzione del tema attivo semplicemente rinominandolo. Torna all'area amministrativa di WordPress (se puoi, ovviamente - se non puoi, probabilmente non ha nulla a che fare con il tuo tema) e WordPress ti avviserà che è ritornato al tema predefinito. Controlla di nuovo il sito. Ovviamente, questo non è di grande aiuto se ti impegni in un particolare tema, quindi potresti riabilitarlo e andare alla sezione su Abilitare PHP Debug; o vai e trova un tema più nuovo e compatibile.

Bad .htaccess

Se disattivando i tuoi plugin non hai ottenuto nulla e non è anche il tuo tema, è possibile che sia il tuo .htaccess il file è stato danneggiato in qualche modo. Di solito, quando ciò accade, puoi comunque accedere all'area di amministrazione del sito. Il .htaccess i file handle riscrivono le regole e le impostazioni della cache, ma a volte puoi modificare questo file direttamente per codificare manualmente elementi come i reindirizzamenti 301.

Soluzione:

Rinominare il .htaccess file nella cartella principale della cartella di installazione di WordPress per qualcosa di simile .htaccess_old. Se non riesci a vedere il file, devi abilitare visualizzazione di file nascosti - il metodo esatto per farlo varia in base al tuo client FTP. Il “.” all'inizio del nome del file è un modo di dire “nascondi questo” in Linux e altri sistemi simili a UNIX.

Una volta che hai rinominato l'attuale .htaccess, torna all'area admin di WordPress, quindi vai su impostazioni -> permalink e, senza apportare modifiche, premere Salva. Questo genererà automaticamente una nuova versione funzionante del file, anche se eventuali modifiche apportate manualmente andranno perse.

Abilita il debug di PHP

Possiamo abilitare un registro di debug all'interno della configurazione di WordPress, che potrebbe dare un indizio sul problema esatto, ma a questo punto sei da solo. Avrai bisogno di capire come risolverlo, il che richiede abilità di codifica.

Per abilitare il registro di debug, apri wp-config.php nella root della tua installazione di WordPress. Trova la riga che dice:

 define ('WP_DEBUG', false); 

Commentalo usando // all'inizio, quindi incolla quanto segue:

 define ('WP_DEBUG', true); define ('WP_DEBUG_LOG', true); define ('WP_DEBUG_DISPLAY', false); @ini_set ( 'display_errors', 0); 

Inizierà l'output degli errori in un file nella cartella del contenuto wp chiamato error.log. Se aggiorni il tuo FTP e non vedi nulla dopo circa un minuto, è possibile che non abbia il permesso di creare il file. Creare manualmente un nuovo file error.log e dargli il permesso 666.

Attenzione: questo file continuerà a ingrandirsi finché non rimuovi quelle linee dalla tua configurazione. Non dimenticare di decommentare anche la riga originale. Leggi il file in qualsiasi editor di testo e controlla eventuali errori di PHP critici. In questo esempio, vedo molte note di PHP sul codice deprecato, ma queste non interromperanno effettivamente un sito.

Configurazione del server

Recentemente ho avuto un caso in cui circa la metà di tutti i carichi di pagina arrivavano a 500, ma senza schema di impostazione e assolutamente nulla di utile nei log degli errori. L'attivazione dei registri di debug di WordPress non mostrava nulla di ovvio: molti avvisi e deprecazioni PHP, ma niente di fondamentale. Infine, mi sono reso conto che avevo installato la cache APC sul server il fine settimana precedente, da utilizzare con W3 Total Cache. La disinstallazione ha sradicato completamente gli errori 500.

Il mio punto: l'errore 500 potrebbe semplicemente essere una combinazione di configurazioni del server che presentano un'incompatibilità. È improbabile che tu stia utilizzando i servizi gestiti, ma con il tuo server privato virtuale (perché dovresti usare un VPS invece dell'host condiviso? Perché dovresti usare un VPS invece di un hosting condiviso per WordPress Perché dovresti usare un VPS invece di Hosting condiviso per WordPress Leggi di più) sei responsabile di far sì che tutto funzioni insieme, e questo è più difficile di quanto sembri.

Su un host condiviso, potresti trovare il Limite di memoria PHP viene colpito - plugins particolarmente complessi potrebbero causare questo. Se sei fortunato riceverai anche un messaggio di errore sulla falsariga di “Errore irreversibile: dimensioni di memoria consentite di byte xxx esaurite”, ma non sempre. Potresti riuscire a risolvere questo problema aggiungendo la seguente riga al tuo wp-config.php:

define ('WP_MEMORY_LIMIT', '64M');

dico potrebbe, poiché la maggior parte degli host condivisi non ti consente di aumentare il limite di memoria, prendi ciò che ti viene dato. Forse è il momento di prendere in considerazione altre forme di hosting Spiegate le varie forme di hosting del sito web [Spiegazione della tecnologia] Spiegate le varie forme di hosting del sito web [Spiegazione della tecnologia] Ulteriori informazioni ?

Naturalmente, se avessi preso i backup prima di eseguire qualsiasi aggiornamento Come eseguire il backup e ripristinare il tuo sito WordPress facilmente con UpdraftPlus Come eseguire il backup e il ripristino del tuo sito WordPress Facilmente con UpdraftPlus Leggi di più Avresti un percorso facile per il recupero. È terribile quando il tuo sito va giù - specialmente se è una fonte di guadagno per te e non solo un hobby - ma seguendo questa guida ed essendo metodico, dovresti riaverlo presto.

Hai mai avuto un errore interno del server 500 o una pagina vuota che non è stata risolta da uno di questi? Facci sapere qual è il tuo problema e come lo hai risolto.

Scopri di più su: Wordpress, Wordpress Plugin.