Se il codice PHP contiene un errore di sintassi, il parser PHP non può interpretare il codice e smette quindi di funzionare.

Ad esempio, un errore di sintassi può essere causato da una virgola dimenticata, un punto e virgola mancante alla fine di una riga oppure parentesi rotonde o graffe che non sono chiuse correttamente. Queste mancanze comportano un parse error (errore di analisi), perché il codice non può essere letto e interpretato correttamente dal parser PHP.

Il messaggio di errore che compare non indica necessariamente l'esatta riga in cui si trova l'errore. Nell'esempio seguente, nella riga 2 mancano le virgolette di chiusura. Tuttavia, il parser fa riferimento nel messaggio di errore alla riga 5.

1: <?php
2: echo "H; // virgoletta dimenticata
3: questo();
4: quello();
5: ?> // qui compare l'errore!

In questo caso la mancanza delle virgolette di chiusura nella seconda riga ha come conseguenza che il parser PHP interpreta la riga successiva come ancora parte del comando ECHO. Lo stesso accade per la riga 3 e così via. All'ultima riga il parser nota che qualcosa non funziona e perciò mostrerà un messaggio di errore simile a questo:

Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in /homepages/12/d1123465789/htdocs/index.php on line 5

Nota bene

Per evitare errori, puoi inserire i caratteri a coppie (ad esempio inserire subito le virgolette di apertura e chiusura) e successivamente inserire il contenuto in mezzo. Inoltre, puoi utilizzare un editor che indica eventuali incongruenze tramite marcature colorate.