{"id":1039,"date":"2023-06-21T18:34:01","date_gmt":"2023-06-21T15:34:01","guid":{"rendered":"https:\/\/presta.site\/blog\/schermata-bianca-della-morte-in-prestashop-una-guida-passo-passo\/"},"modified":"2026-07-26T09:40:26","modified_gmt":"2026-07-26T06:40:26","slug":"schermata-bianca-della-morte-in-prestashop-una-guida-passo-passo","status":"publish","type":"post","link":"https:\/\/presta.site\/blog\/it\/schermata-bianca-della-morte-in-prestashop-una-guida-passo-passo\/","title":{"rendered":"Schermata bianca della morte PrestaShop: guida alla correzione passo passo"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Una <strong>schermata bianca della morte PrestaShop<\/strong> \u00e8 una pagina vuota senza alcun messaggio &#8211; nel front office, nel Back Office o in entrambi. Di solito significa che PHP si \u00e8 interrotto prima che il negozio potesse renderizzare l&#8217;HTML. Questa guida mostra come attivare la modalit\u00e0 debug (anche quando l&#8217;amministrazione \u00e8 inattiva), leggere il vero errore e applicare le correzioni che risolvono la maggior parte dei casi di WSoD.<\/p>\n\n\n<!--more-->\n\n\n<p class=\"wp-block-paragraph\">Da PrestaShop 1.7 in poi (inclusi 8 e 9), le opzioni di debug si trovano in <strong>Parametri avanzati \u2192 Prestazioni<\/strong> quando il Back Office si carica ancora. Se anche l&#8217;amministrazione \u00e8 vuota, devi modificare <code class=\"codecolorer text default\"><span class=\"text\">_PS_MODE_DEV_<\/span><\/code> in <code class=\"codecolorer text default\"><span class=\"text\">config\/defines.inc.php<\/span><\/code> tramite SFTP o SSH. Le note ufficiali sulla schermata si trovano nella <a href=\"https:\/\/docs.prestashop-project.org\/v.9-documentation\/user-guide\/configuring-shop\/advanced-parameters\/performance\" target=\"_blank\" rel=\"noopener noreferrer\">documentazione sulle Prestazioni di PrestaShop 9<\/a>. Esegui un <a href=\"https:\/\/presta.site\/blog\/it\/come-creare-un-backup-in-prestashop\/\">backup completo di PrestaShop<\/a> prima di eliminare moduli o ripristinare file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cosa significa di solito una schermata bianca della morte PrestaShop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La pagina vuota \u00e8 un sintomo, non un singolo bug. Una schermata bianca della morte PrestaShop significa che PHP ha riscontrato un errore fatale, ha esaurito la memoria o ha fallito prima che Smarty potesse stampare qualcosa. La modalit\u00e0 di produzione nasconde quel dettaglio di proposito &#8211; in modo che gli acquirenti non vedano mai uno stack trace. Il tuo compito \u00e8 rendere visibile l&#8217;errore, quindi correggere la causa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nota dove fallisce:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Solo front &#8211; spesso un override del tema, un hook di un modulo o un artefatto della cache sulla vetrina<\/li>\n<li>Solo Back Office &#8211; spesso un modulo di amministrazione, una scheda o un override in <code class=\"codecolorer text default\"><span class=\"text\">override\/<\/span><\/code><\/li>\n<li>Entrambi &#8211; credenziali del DB errate, <code class=\"codecolorer text default\"><span class=\"text\">defines.inc.php<\/span><\/code> corrotto, crash della versione PHP o un errore fatale che viene eseguito ad ogni richiesta<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Passo 1: Abilita la modalit\u00e0 debug<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La modalit\u00e0 debug stampa l&#8217;eccezione (o ti indirizza al log) invece di una pagina bianca. Preferisci il Back Office quando si apre ancora.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"484\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-1024x484.png\" alt=\"Pagina Prestazioni di PrestaShop con Modalit\u00e0 debug abilitata per la risoluzione dei problemi della schermata bianca della morte\" class=\"wp-image-630\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-1024x484.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-300x142.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-768x363.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-1536x726.png 1536w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1.png 1611w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Accedi al Back Office.<\/li>\n<li>Vai in <strong>Parametri avanzati \u2192 Prestazioni<\/strong>.<\/li>\n<li>Nel blocco <strong>Modalit\u00e0 debug<\/strong>, imposta <strong>Modalit\u00e0 debug<\/strong> su <strong>S\u00ec<\/strong>.<\/li>\n<li>Clicca su <strong>Salva<\/strong>.<\/li>\n<li>Ricarica l&#8217;URL vuoto in una finestra privata.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Se anche il Back Office \u00e8 una schermata bianca della morte PrestaShop, modifica il file sul disco. Scarica prima una copia di <code class=\"codecolorer text default\"><span class=\"text\">config\/defines.inc.php<\/span><\/code> (anche se hai gi\u00e0 fatto un backup completo del negozio) in modo da poter rimettere l&#8217;originale con un clic se la modifica va storta:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Apri <code class=\"codecolorer text default\"><span class=\"text\">config\/defines.inc.php<\/span><\/code> tramite SFTP, SSH o il file manager dell&#8217;hosting e salva una copia locale.<\/li>\n<li>Trova <code class=\"codecolorer text default\"><span class=\"text\">define('_PS_MODE_DEV_', false);<\/span><\/code> (la dicitura potrebbe variare leggermente in base alla versione).<\/li>\n<li>Cambialo in <code class=\"codecolorer text default\"><span class=\"text\">define('_PS_MODE_DEV_', true);<\/span><\/code> e salva.<\/li>\n<li>Ricarica la pagina che non funziona.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Disattiva di nuovo il debug quando hai finito. Lasciarlo attivo in produzione espone percorsi e stack trace a chiunque incontri un errore.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Passo 2: Identifica l&#8217;errore<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Con il debug attivo, la schermata bianca della morte PrestaShop di solito diventa un&#8217;eccezione leggibile. Nota il nome della classe, il nome del modulo, il percorso del file sotto <code class=\"codecolorer text default\"><span class=\"text\">modules\/<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">themes\/<\/span><\/code> o <code class=\"codecolorer text default\"><span class=\"text\">override\/<\/span><\/code> e il numero di riga. Quella stringa \u00e8 di solito sufficiente per scegliere la correzione giusta qui sotto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"469\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-1024x469.png\" alt=\"Esempio di errore PHP mostrato dopo aver abilitato la modalit\u00e0 debug di PrestaShop su una schermata bianca\" class=\"wp-image-633\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-1024x469.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-300x137.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-768x352.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2.png 1264w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Se la pagina rimane vuota anche con <code class=\"codecolorer text default\"><span class=\"text\">_PS_MODE_DEV_<\/span><\/code> su true, controlla il log degli errori PHP dell&#8217;hosting (cPanel, Plesk o <code class=\"codecolorer text default\"><span class=\"text\">var\/logs\/<\/span><\/code> su alcune configurazioni). Un errore di sintassi in un file di configurazione pu\u00f2 interrompere l&#8217;esecuzione prima che il livello di debug di PrestaShop entri in funzione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fonti comuni:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Personalizzazioni recenti<\/strong> &#8211; modifiche al tema, override o snippet copiati<\/li>\n<li><strong>Moduli<\/strong> &#8211; specialmente un modulo installato o aggiornato subito prima del crash<\/li>\n<li><strong>Modifiche all&#8217;hosting<\/strong> &#8211; aggiornamento della versione PHP, estensione mancante, limite di memoria inferiore<\/li>\n<li><strong>Credenziali del database<\/strong> &#8211; valori errati in <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code> dopo una migrazione<\/li>\n<li><strong>Permessi dei file<\/strong> &#8211; PHP non pu\u00f2 leggere un file richiesto o scrivere nella cache<\/li>\n<li><strong>Limite di memoria<\/strong> &#8211; errori fatali che menzionano memoria esaurita<\/li>\n<li><strong>Cache obsoleta<\/strong> &#8211; template compilati corrotti dopo un aggiornamento<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Passo 3: Correggi l&#8217;errore<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"450\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3-1024x450.png\" alt=\"Opzioni Prestazioni di PrestaShop utilizzate per isolare moduli e override dopo una schermata bianca della morte\" class=\"wp-image-636\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3-1024x450.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3-300x132.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3-768x338.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3.png 1155w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Abbina l&#8217;output di debug a un percorso. Cambia una cosa alla volta, quindi ricarica.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Personalizzazioni e override<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Annulla l&#8217;ultima modifica al tema o all&#8217;override se la conosci. In Prestazioni, prova <strong>Disattiva tutti gli override<\/strong> \u2192 <strong>S\u00ec<\/strong>, salva e riprova. Se il negozio torna a funzionare, il bug \u00e8 in <code class=\"codecolorer text default\"><span class=\"text\">override\/<\/span><\/code> o nell&#8217;override di un modulo &#8211; correggi o rimuovi quel file piuttosto che lasciare gli override disattivati per sempre.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bug dei moduli<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In Prestazioni, imposta <strong>Disattiva i moduli non di PrestaShop<\/strong> \u2192 <strong>S\u00ec<\/strong> e riprova. Se questo risolve la schermata bianca della morte PrestaShop, rinomina la cartella del modulo sospetto sotto <code class=\"codecolorer text default\"><span class=\"text\">modules\/<\/span><\/code> (o disinstallalo dal BO una volta che l&#8217;amministrazione funziona) uno alla volta finch\u00e9 non trovi il colpevole. Preferisci rinominare piuttosto che eliminare, in modo da poter ripristinare i file dopo averlo identificato.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hosting e PHP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Confronta <strong>Parametri avanzati \u2192 Informazioni<\/strong> con ci\u00f2 che l&#8217;hosting dichiara di eseguire. Dopo un aggiornamento di PHP, estensioni mancanti o una gestione degli errori pi\u00f9 rigorosa spesso si manifestano come una pagina vuota. Chiedi all&#8217;hosting quale versione di PHP e quale <code class=\"codecolorer text default\"><span class=\"text\">memory_limit<\/span><\/code> utilizza effettivamente il vhost.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Connessione al database<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Se il debug menziona l&#8217;accesso al database o il negozio ha smesso di funzionare subito dopo un trasferimento di server, verifica host, nome, utente e password in <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code>. I passaggi completi si trovano nella nostra guida su <a href=\"https:\/\/presta.site\/blog\/it\/come-modificare-le-impostazioni-di-connessione-al-database-in-prestashop\/\">come modificare le impostazioni di connessione al database in PrestaShop<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Permessi e memoria<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Quando l&#8217;errore nomina un file che PHP non pu\u00f2 aprire, correggi la propriet\u00e0\/i permessi per quel percorso (tipica propriet\u00e0 dell&#8217;utente web; evita <code class=\"codecolorer text default\"><span class=\"text\">777<\/span><\/code> come correzione permanente). Per gli errori di memoria esaurita, aumenta il <code class=\"codecolorer text default\"><span class=\"text\">memory_limit<\/span><\/code> nel <code class=\"codecolorer text default\"><span class=\"text\">php.ini<\/span><\/code> del vhost o chiedi all&#8217;hosting &#8211; quindi svuota la cache e riprova.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cache<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Da Prestazioni, clicca su <strong>Pulisci la cache<\/strong>. Se il BO \u00e8 inattivo, elimina il contenuto di <code class=\"codecolorer text default\"><span class=\"text\">var\/cache\/prod\/<\/span><\/code> (e <code class=\"codecolorer text default\"><span class=\"text\">var\/cache\/dev\/<\/span><\/code> se presente) tramite file manager o SSH, mantenendo le cartelle stesse. Alberi di cache enormi sono spesso pi\u00f9 facili da svuotare da SSH che da FTP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Passo 4: Quando hai ancora bisogno di aiuto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se il debug \u00e8 attivo, i moduli\/override sono isolati, le credenziali corrispondono e hai ancora una schermata bianca della morte PrestaShop, raccogli: il testo esatto dell&#8217;errore, la versione di PrestaShop, la versione di PHP e cosa \u00e8 cambiato di recente (modulo, deploy, aggiornamento dell&#8217;hosting). Pubblica questi dati sui forum di PrestaShop, o inviali al tuo hosting o a uno sviluppatore che pu\u00f2 leggere i log del server che non puoi vedere solo dal negozio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Passo 5: Ripristina dal backup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ripristinare i file o un dump del DB \u00e8 l&#8217;ultima risorsa &#8211; perdi le modifiche fatte dopo quel backup. Usalo quando un deploy errato non pu\u00f2 essere annullato rapidamente e hai gi\u00e0 una copia recente. Come creare e conservare queste copie \u00e8 spiegato nella <a href=\"https:\/\/presta.site\/blog\/it\/come-creare-un-backup-in-prestashop\/\">guida al backup di PrestaShop<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lista di controllo rapida<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Abilita il debug (Prestazioni nel BO, o <code class=\"codecolorer text default\"><span class=\"text\">_PS_MODE_DEV_<\/span><\/code> in <code class=\"codecolorer text default\"><span class=\"text\">defines.inc.php<\/span><\/code>).<\/li>\n<li>Leggi l&#8217;errore sullo schermo o il log PHP.<\/li>\n<li>Isola gli override e i moduli non nativi da Prestazioni.<\/li>\n<li>Correggi le credenziali del DB, i permessi, la memoria o la cache come indicato dal messaggio.<\/li>\n<li>Disattiva il debug; ripristina dal backup solo se nient&#8217;altro recupera il negozio.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">La maggior parte dei casi di schermata bianca della morte PrestaShop si risolvono una volta che il vero messaggio PHP \u00e8 visibile. Inizia con la modalit\u00e0 debug, cambia una variabile alla volta e tieni pronto un percorso di backup prima di eliminare qualsiasi cosa che non puoi rimettere al suo posto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Risolvi una schermata bianca della morte PrestaShop passo dopo passo: abilita la modalit\u00e0 debug, leggi l&#8217;errore PHP, isola i moduli e recupera il negozio.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[140],"tags":[],"class_list":["post-1039","post","type-post","status-publish","format-standard","hentry","category-sviluppo"],"_links":{"self":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/1039","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/comments?post=1039"}],"version-history":[{"count":1,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/1039\/revisions"}],"predecessor-version":[{"id":2025,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/1039\/revisions\/2025"}],"wp:attachment":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/media?parent=1039"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/categories?post=1039"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/tags?post=1039"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}