Modalità debug PrestaShop e log: dove leggere il messaggio di errore
Accendi la modalità debug di PrestaShop in Parametri avanzati > Prestazioni o nel file config/defines.inc.php. Da sola non ripara niente. Mostra il messaggio di errore al posto di una pagina bianca. Prima di accenderla, guarda il log in Parametri avanzati > Log. Il messaggio di errore spesso è già lì, con una data e il nome del modulo.
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
Dove registra PrestaShop il messaggio di errore?
In quattro posti, e ognuno vede errori un po' diversi.
| Posto | Dove trovarlo | Cosa contiene | Quando guardarci |
|---|---|---|---|
| Log di PrestaShop | Parametri avanzati > Log | voci di PrestaShop e dei moduli con data e livello di gravità | sempre, per primo |
| Modalità debug | Parametri avanzati > Prestazioni o config/defines.inc.php | il messaggio completo con file e riga, direttamente nella pagina | quando la pagina è bianca o mostra un errore 500 |
| File di log sul server | la cartella var/logs | errori scritti dal livello Symfony | quando il pannello non funziona o l'errore riguarda il back office |
| Log degli errori dell'hosting | pannello dell'hosting, di solito «error log» o «log PHP» | errori PHP, compresi quelli che PrestaShop non è riuscito a salvare | quando il log nel pannello è vuoto |
C'è anche un quinto posto, la console del browser. La apri con F12. Mostra gli errori degli script, per esempio quando un pulsante non fa niente e i log del negozio sono vuoti. La descrizione della schermata dei log la trovi nella documentazione di PrestaShop.
Come accendere la modalità debug in sicurezza?
Per il minor tempo possibile, meglio se su una copia di prova del negozio.
- Controlla il log. Se il messaggio di errore è già lì, la modalità debug non ti serve.
- Accendi il debug nel pannello. Parametri avanzati > Prestazioni, l'interruttore della modalità debug. Questa pagina è descritta nella documentazione sulle prestazioni.
- Quando il pannello non funziona, usa il file. In
config/defines.inc.phpcambia_PS_MODE_DEV_dafalseatrue. Lo descrive la documentazione per sviluppatori. - Riproduci l'errore. Apri la pagina che si rompe e copia tutto il messaggio: il testo, il file e il numero di riga.
- Spegni il debug. Subito dopo aver copiato il messaggio. La modalità debug mostra dettagli tecnici a ogni visitatore.
- Svuota la cache. Parametri avanzati > Prestazioni, il pulsante nell'angolo in alto a destra.
Altri interruttori, compresa la disattivazione degli override e dei moduli non di PrestaShop per la durata di una prova, sono descritti nella guida di icomSEO alla modalità debug (in polacco).
Come leggere una voce del log?
Guarda tre cose: il livello di gravità, il percorso del file e la data della prima comparsa.
Il livello di gravità ti dice quanto è urgente. Uno è un'informazione, due un avviso, tre un errore e quattro un problema grave che di solito blocca la pagina. Il percorso del file ti dice di chi è l'errore. Un frammento come modules/nome_modulo indica un modulo, themes/ il tema e override/ un override lasciato da un modulo. La data della prima comparsa ti dice cosa è cambiato in quel momento. Un errore iniziato un quarto d'ora dopo l'aggiornamento di un modulo di solito arriva da quel modulo.
Copia la voce per intero quando la mandi all'autore del modulo o a uno sviluppatore. Aggiungi la versione di PrestaShop, la versione di PHP e una descrizione di cosa clicchi prima che compaia l'errore. Quando il negozio mostra già un errore 500, passa al piano dell'articolo errore 500 in PrestaShop. Quando il log indica un modulo, guarda come disattivare un modulo PrestaShop senza perdere i suoi dati.
Quali messaggi vedrai più spesso?
Nei negozi PrestaShop tornano spesso alcuni tipi di messaggi, e ognuno suggerisce a chi chiedere aiuto.
| Frammento del messaggio | Cosa significa di solito | Chi può aiutare |
|---|---|---|
| Allowed memory size exhausted | lo script ha avuto bisogno di più memoria di quanta ne permetta il server | il tuo hosting |
| Class not found | manca il file di una classe, spesso dopo la rimozione di un modulo o con un vecchio override | uno sviluppatore |
| Undefined array key o Undefined index | il modulo non è adattato a un PHP più recente, di solito un avviso | l'autore del modulo |
| SQLSTATE | un errore in una query al database, spesso da un modulo | l'autore del modulo o uno sviluppatore |
| Unable to load template | manca un file di template nel tema o in un modulo | l'autore del tema o uno sviluppatore |
Incolla il messaggio per intero nella tua segnalazione. Non accorciarlo e non riassumerlo, perché l'autore cerca il testo esatto.
Come rivedere il log con la chat?
Chiedi le voci di un periodo scelto, e la tua chat (Claude o ChatGPT) raggruppa gli errori ripetuti e li spiega in parole semplici. Indica anche il modulo a cui l'errore con più probabilità rimanda.
Tu: Prendi dal log gli errori e i problemi gravi da lunedì, raggruppali per messaggio e dimmi a quale modulo rimandano.
La tua chat: Da lunedì ci sono 52 voci a livello di errore e nessun problema grave. Tre gruppi:
41 voci dal modulo recensioni, sempre nella pagina del prodotto, da martedì mattina.
9 voci dal modulo newsletter quando si iscrive un indirizzo, sparse nel tempo.
2 voci su un'immagine mancante nella categoria Lanterne, un problema di contenuto minore.
Il primo gruppo è il più urgente. È iniziato dopo l'aggiornamento del modulo recensioni.
La modalità debug è spenta, e deve restare così.
La lettura del log funziona nel gratuito TellMyShop Free, senza acquisti. Di default copre gli ultimi 7 giorni e fino a 200 voci alla volta. Indirizzi email, numeri di telefono e indirizzi IP sono mascherati. La revisione tecnica del negozio ti dice anche se qualcuno ha lasciato accesa la modalità debug. Una richiesta pronta la trovi nel caso d'uso capire i messaggi di errore dopo l'aggiornamento di un modulo.
La chat non legge i file della cartella var/logs né il log degli errori dell'hosting. Quando il negozio non risponde per niente, non funziona nemmeno il modulo TellMyShop, perché gira dentro il negozio.
Domande e risposte
Dove sono i log in PrestaShop?
In tre posti. Il log nel pannello è in Parametri avanzati > Log e mostra le voci salvate da PrestaShop e dai moduli. I file di log stanno nella cartella var/logs sul server. Gli errori PHP che PrestaShop non è riuscito a salvare sono nel log degli errori del pannello del tuo hosting.
Posso lasciare attiva la modalità debug?
Non lasciarla attiva. La modalità debug mostra dettagli tecnici a ogni visitatore, compresi i percorsi dei file sul server. Disattiva anche una parte della cache, quindi il negozio va più lento. Accendila per la diagnosi, meglio se su una copia di prova, e spegnila subito dopo.
Cosa significano i livelli di gravità nel log di PrestaShop?
Le voci hanno quattro livelli. Uno è un'informazione, due un avviso, tre un errore e quattro un problema grave che di solito blocca la pagina. Ogni giorno guarda i livelli tre e quattro. Leggi gli avvisi quando qualcosa si comporta in modo strano e nel log non ci sono errori.
Come ricevo le notifiche degli errori via email?
In Parametri avanzati > Log imposti il livello di gravità minimo da cui PrestaShop manda un'email all'amministratore. Impostalo su errori o problemi gravi, quindi tre o quattro. Al livello degli avvisi la casella si riempie in fretta e i messaggi importanti si perdono tra quelli secondari.
La chat legge i log del server?
La chat legge il log di PrestaShop dal pannello, di default per gli ultimi 7 giorni e fino a 200 voci alla volta. Indirizzi email, numeri di telefono e indirizzi IP sono mascherati nei risultati. La chat non legge i file di var/logs né il log degli errori dell'hosting. Quelli controllali nel pannello dell'hosting o chiedili al tuo provider.
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.