Sintassi
Parse error: syntax error, unexpected token – PHP E_PARSE
L'errore Parse error: unexpected token indica che il parser PHP ha trovato un token non valido rispetto alla grammatica attesa. Può derivare da parentesi o virgolette non chiuse, un punto e virgola mancante, un operatore scritto male o una sintassi disponibile solo in una versione diversa. La riga segnalata è il punto in cui il parser si accorge del problema, non sempre il punto in cui è iniziato.
Cosa significa questo errore?
L'errore Parse error: unexpected token indica che il parser PHP ha trovato un token non valido rispetto alla grammatica attesa. Può derivare da parentesi o virgolette non chiuse, un punto e virgola mancante, un operatore scritto male o una sintassi disponibile solo in una versione diversa. La riga segnalata è il punto in cui il parser si accorge del problema, non sempre il punto in cui è iniziato.
Messaggio originale
Parse error: syntax error, unexpected tokenContesto e parole chiave
Alias
- ParseError
- syntax error PHP
- unexpected token
Messaggi alternativi
- Errore di sintassi alla riga indicata
- Token inatteso nel parser PHP
Prodotti
- PHP Parser
Piattaforme
- Linux
- macOS
- Windows
Parole chiave
- errore sintassi php
- php parse error unexpected token
- php syntax error
Cause possibili
Parentesi, stringa o blocco precedente non chiuso
Il parser interpreta il token corrente come inatteso perché una struttura della riga precedente è rimasta aperta.
molto comuneCostrutto non disponibile nella versione PHP attiva
Il codice usa una sintassi introdotta in una versione più recente dell'interprete o non supportata dalla configurazione corrente.
comuneDiagnosi
Riga indicata e righe immediatamente precedenti
Eseguire il lint sul file e controllare parentesi, virgolette, delimitatori e operatori prima della posizione segnalata.
Come leggere il risultato. Il lint conferma se la correzione ha rimosso l'errore di parsing.
php -l percorso/script.phpVersione dell'interprete
Confrontare la versione PHP del processo con quella usata nel progetto.
Come leggere il risultato. Una versione differente può spiegare token o costrutti non riconosciuti.
php -vRisoluzione
Correzione del delimitatore che precede il token
Ripristinare il delimitatore o la struttura sintattica mancante.
- Leggere la riga indicata e il blocco precedente.
- Controllare parentesi, virgolette, graffe e punti e virgola.
- Correggere una sola struttura per volta.
- Ripetere php -l dopo ogni correzione.
Allineamento del codice alla versione PHP supportata
Sostituire il costrutto non disponibile o aggiornare l'interprete secondo la compatibilità del progetto.
- Identificare il costrutto introdotto in una versione successiva.
- Verificare la versione del runtime web e CLI.
- Scegliere una sintassi compatibile oppure pianificare l'aggiornamento.
- Eseguire lint e test applicativi.
Domande frequenti
La riga indicata dal Parse error è sempre quella sbagliata?
Non sempre. Il parser può accorgersi del problema sul token successivo; è importante controllare anche parentesi, stringhe e delimitatori nelle righe precedenti.
Approfondimenti
- List of Parser Tokens - PHP Manual manuale_ufficiale
- ParseError - PHP Manual manuale_ufficiale