Parse error: syntax error, unexpected token – PHP E_PARSE

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 token

Contesto 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 comune

Costrutto 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.

comune

Diagnosi

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
php -l percorso/script.php

Versione 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.

shell
php -v

Risoluzione

Correzione del delimitatore che precede il token

Difficoltà: facileRischio: basso

Ripristinare il delimitatore o la struttura sintattica mancante.

  1. Leggere la riga indicata e il blocco precedente.
  2. Controllare parentesi, virgolette, graffe e punti e virgola.
  3. Correggere una sola struttura per volta.
  4. Ripetere php -l dopo ogni correzione.

Allineamento del codice alla versione PHP supportata

Difficoltà: mediaRischio: medio

Sostituire il costrutto non disponibile o aggiornare l'interprete secondo la compatibilità del progetto.

  1. Identificare il costrutto introdotto in una versione successiva.
  2. Verificare la versione del runtime web e CLI.
  3. Scegliere una sintassi compatibile oppure pianificare l'aggiornamento.
  4. 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

Schede correlate