Joomla! - WSOD White Screen of Death
A volte a seguito di una modifica al codice all'interno del vostro sito, o l'installazione/aggiornamento di un'estensione si ottiene quello che in gergo informatico si traduce in un acronimo WSOD cioè White Screen of Death sinonimo di pagina bianca o blank page senza nessun riferimento a quanto successo.
La seguente guida spiegherà come riuscire a risolvere il problema e a recuperare il vostro lavoro da un imminente disastro.
Per prima cosa bisogna riuscire a trovare l'errore che genera il WSOD. In secondo luogo trovato l'errore, risolverlo.
Risolvere un WSOD
Per trovare l'errore si può procedere in diversi modi. Eccone alcuni:
1. Si cambia il Rapporto errori del sistema a "Massimo"
Per effettuare questa operazione, dovete però accedere all'area amministrativa del sito:
Joomla! 2.5.x: Sito > Configurazione Globale > Server
Joomla! 3.x.x: Sistema > Configurazione Globale > Server
Una volta fatto Salva, tornare al front end del vostro sito e premere F5 da tastiera per visualizzare gli errori.
Se non potete accedere al back end del sito, con l'ausilio di un client FTP, accedete al file configuration.php e modificate la seguente riga come segue:
public $error_reporting = 'development';
2. Modificare i file via FTP
Accedere alla cartella Joomla! attraverso un client FTP, trovate il file index.php nella root del vostro sito e modificatelo nelle prime righe di codice come segue:
ini_set('display_errors', TRUE);
error_reporting(E_ALL);
3. Modificare il file php.ini
Il file php.ini contiene molte delle informazioni di configurazione del comportamento del PHP all'interno del vostro HTTP Server.
In linux lo trovate nella cartella /etc/php5/apache2/php.ini
Trovate e modificate quanto segue
Decommentate se necessario e settate la proprietà display_errors a on:
display_errors = On
Decommentate se necessario e settate la proprietà error_reporting come segue:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
4. Controllare la versione PHP
Avete installato qualche componente che o non è compatibile o nei requisiti non supporta la vostra versione di PHP? Controllate allora la versione di PHP e se siete gli amministratori del server o siete in locale, aggiornate la vesione a quella più recente e/o adatta a ripristinare il vostro sito.
Se invece il vostro sito è ospitato presso un servizio di host, controllate dal pannello se potete selezionare una versione più recente o adatta di PHP.
5. Controllare il file di log
Prima di tutto ubicare il file error.log che dovrebbe trovarsi o all'interno della cartella "logs" oppure in una cartella del vostro web server a seconda di come è configurato. Se siete in locale potrebbe trovarsi anche nella root del vostro sito.
Una volta aperto (Consiglio per la dimensione di aprirlo con un editor di testo tipo gedit o scite, se su windows wordpad o notepad), controllare se vi sono indicazioni utili a stabilire dove e cosa causa l'errore.
Una volta trovato l'errore, è abbastanza facile risalire all'errore. Osservare il path dove si è generato l'errore e visualizzare il componente o estensione da dove è stato generato.
Se non si riesce a visualizzare il nome di un'estensione specifica, l'errore potrebbe doversi imputare al core di Joomla!.
Vediamo nella fattispecie come risolvere i due problemi:
Problemi con un'estensione? Disabilitatela!
- Un modo se avete accesso al back end del vostro sito, andare su Gestisci Estensioni o Estensioni, filtrare per nome o tipo e cliccare su Sospendi.
- Se non avete accesso a back end, un modo è quello di accedere al database a phpmyadmin o simili, individuare la tabella #_extensions visualizzarne il contenuto, cercare l'estensione colpevole e nel record che la rappresenta, sostituire il valore 1 con 0 nel campo enable. Per una spiegazione su come fare leggete come disabilitare un'estensione da database.
- Terzo metodo, più rozzo ma sempre efficace, via FTP accedere alla cartella che ospita il tipo di estensione (modules, components o plugins) e rinominare la cartella che lo rappresenta magari aggiungendo al nome "_old". La stessa cosa se trattasi di un componente va fatta anche nella cartella /administrator/components.
Problemi con il core di Joomla? Sovrascrivetelo!
Se l'errore sembra dovuto ad un file del core di Joomla!, scaricate l'ultima versione di Joomla! da joomla.org o joomla.it e scompattatela in una cartella. Caricate successivamente tutto il suo contenuto via FTP sul vostro server, sovrascrivendo tutti i file che si trovano nella cartella della vostra installazione di Joomla!.
In locale ovviamente basterà un copia/incolla