Errore 500 PrestaShop o pagina bianca: cosa fare nei primi 15 minuti
Quando PrestaShop mostra un errore 500 o una pagina bianca, controlla prima se riguarda tutto il negozio o una pagina. Poi accendi la modalità debug o apri il log degli errori per vedere il messaggio vero. Le cause più frequenti: un modulo aggiornato, un cambio di versione PHP e il limite di memoria del server. In emergenza disattiva un modulo rinominando la sua cartella.
Autore: Il team TellMyShop. Una guida per i titolari di negozi PrestaShop: la causa, la correzione a mano e lo stesso lavoro in una conversazione in chat.
Ultimo aggiornamento: · 5 min di lettura
Passo zero: cosa ha smesso di funzionare, esattamente?
Prima di cambiare qualsiasi cosa, annota tre cose. Decidono se lo sistemerai da solo in un quarto d'ora o se ti servirà aiuto.
| Domanda | Se sì | Causa probabile |
|---|---|---|
| Sono fermi tutto il negozio e il pannello? | un errore all'avvio di PrestaShop | PHP, memoria, un file danneggiato, un modulo caricato ovunque |
| Il negozio è fermo ma il pannello funziona? | un errore nel tema o in un modulo del front office | un modulo cambiato di recente, il tema, un override |
| È ferma una sola pagina, come il carrello o una pagina di prodotto? | un errore in un modulo agganciato a quella pagina | un modulo di pagamento, di spedizione o della pagina del prodotto |
| È cambiato qualcosa nelle ultime 24 ore? | è quasi sempre quella la causa | un aggiornamento di modulo, PHP o tema, una migrazione |
L'ultima riga è la più importante. Un errore 500 comparso un'ora dopo l'aggiornamento di un modulo di solito si rivela colpa di quel modulo. Parti annullando l'ultima modifica prima di cercare altrove.
Come vedere il vero messaggio di errore
L'errore 500 da solo non ti dice niente. Due posti mostrano il messaggio vero, con il file e il nome del modulo.
- Modalità debug. Quando il pannello funziona, la accendi in Parametri avanzati > Prestazioni. Quando il pannello è fermo, cambi
_PS_MODE_DEV_intruenel fileconfig/defines.inc.php. Descriviamo entrambi i modi, e come spegnerla in sicurezza, nell'articolo sulla modalità debug di PrestaShop. Anche LH.pl lo mostra passo per passo (in polacco). - Il log degli errori del server. Nel pannello dell'hosting, di solito come «error log» o «log PHP». Mostra gli errori anche quando non vuoi accendere il debug su un negozio online.
- Il log di PrestaShop. Parametri avanzati > Log contiene gli errori che PrestaShop è riuscito a registrare, con le date. Serve quando l'errore riguarda solo una parte del negozio.
Dopo la diagnosi spegni la modalità debug. Mostra dettagli tecnici a ogni visitatore.
Le cause più comuni e cosa fare
Un modulo dopo un aggiornamento. Il messaggio indica un file nella cartella modules/nome_modulo. Disattiva il modulo nel pannello, e se il pannello è fermo, rinomina la sua cartella via FTP. Poi segnala l'errore all'autore del modulo con il testo del messaggio.
Versione di PHP. Il tuo hosting ha cambiato PHP, o l'hai cambiato tu nel pannello dell'hosting. I moduli più vecchi non funzionano con un PHP più recente, e PrestaShop 8 e 9 hanno i loro requisiti. Controlla i requisiti di sistema di PrestaShop e torna alla versione di PHP precedente se l'errore è comparso subito dopo il cambio.
Memoria e disco. Un messaggio su «Allowed memory size», o niente più spazio sul disco. È un lavoro per il tuo hosting: alzare il limite di memoria PHP o liberare spazio.
Override e cache. Dopo la disinstallazione di un modulo a volte resta un file di override che rimanda a codice che non esiste più. Aiuta svuotare il contenuto di var/cache e controllare la cartella override.
File danneggiati o un'infezione. Quando non è cambiato niente e nei file sono comparsi pezzi di codice sconosciuti, potrebbe essere un attacco. Pskrk descrive un caso così (in polacco). In quel caso ti servono un backup e uno specialista, non riparazioni fai da te. Zenbox ha raccolto un elenco più ampio di guasti (in polacco).
Quando la chat aiuta e quando no
Quando tutto PrestaShop non risponde, la tua chat (Claude o ChatGPT) non può aiutarti, perché il modulo TellMyShop gira dentro il negozio e si ferma con lui. Allora ti resta il piano qui sopra, o uno sviluppatore.
La chat è utile quando il negozio funziona ma una sua parte ha un errore, e nella prevenzione. Nella versione gratuita TellMyShop Free la chat legge il log degli errori di un periodo scelto, la revisione tecnica del negozio e l'elenco dei moduli, poi spiega i messaggi in parole semplici.
Tu: Da stamattina i clienti scrivono che il carrello non si apre. Ieri ho aggiornato due moduli. Controlla cosa succede.
La tua chat: Il log delle ultime 24 ore ha 46 voci dello stesso errore, la prima ieri alle 21:14, pochi minuti dopo l'aggiornamento del modulo di spedizione.
L'errore arriva da un file di quel modulo e si presenta quando si apre il carrello. L'altro modulo aggiornato non ha errori.
Il passo più sicuro: disattivare il modulo di spedizione finché l'autore non pubblica una correzione. I clienti perderanno quel metodo di spedizione, ma il carrello tornerà a funzionare.
Disattivare un modulo tramite la chat funziona in TellMyShop Pro con l'interruttore Moduli acceso nel pannello del modulo. L'interruttore dura 24 ore e richiede un backup del database fatto lo stesso giorno. Un modulo disattivato conserva i suoi dati, quindi puoi riattivarlo con una sola richiesta. Con i moduli di pagamento e di spedizione la chat ti avvisa di cosa perderanno i clienti. Richieste di esempio: messaggi di errore dopo l'aggiornamento di un modulo, sistemare una pagina di errore dopo un aggiornamento e disattivare un modulo che rompe il carrello.
Come ridurre il rischio del prossimo errore 500
- Fai un backup di file e database prima di ogni aggiornamento di un modulo o di PHP.
- Aggiorna un modulo alla volta e controlla il negozio dopo ognuno.
- Fai gli aggiornamenti la mattina di un giorno lavorativo, non il venerdì sera.
- Rivedi il log degli errori una volta alla settimana, prima che un piccolo errore cresca.
- Tieni una copia di prova del negozio per testare le modifiche più grandi.
Se il negozio funziona ma le tue modifiche non si vedono, è un altro problema: modifiche non visibili in PrestaShop.
Domande e risposte
Cosa significa l'errore 500 in PrestaShop?
Che il server ha incontrato un errore nel codice del negozio e non è riuscito a costruire la pagina. Il messaggio in sé non dice cosa è successo. Solo la modalità debug o il log degli errori del server mostrano la causa. Il colpevole più frequente è un modulo dopo un aggiornamento, un cambio di versione di PHP, o la fine dello spazio o della memoria sul server.
Come disattivo un modulo quando il pannello di PrestaShop non funziona?
Via FTP o con il file manager dell'hosting, rinomina la cartella del modulo dentro la cartella modules, per esempio aggiungendo _off alla fine. PrestaShop non trova il modulo e lo salta. Ripristina il nome quando è sistemato. È un'uscita d'emergenza, quindi annota cosa hai cambiato per poterlo annullare dopo.
L'errore 500 può essere colpa dell'hosting?
Sì. Un limite di memoria PHP superato, un disco pieno, un'estensione PHP disattivata o un cambio di versione di PHP da parte dell'hosting producono tutti lo stesso errore 500. Se il log mostra un messaggio sulla memoria o su un'estensione mancante, è una questione per il tuo hosting, non per l'autore del modulo.
La chat può aiutare quando tutto il negozio è fermo?
No, perché il modulo TellMyShop gira dentro il negozio. Quando PrestaShop non risponde per niente, non funziona nemmeno il collegamento con la chat. La chat aiuta quando l'errore riguarda una parte del negozio, come una pagina o il carrello, e nella prevenzione: rivedere il log degli errori dopo ogni aggiornamento.
PrestaShop è un marchio registrato di PrestaShop SA. Claude è un marchio di Anthropic PBC. ChatGPT e OpenAI sono marchi di OpenAI. TellMyShop non è affiliato a queste aziende.