Parse error: syntax error, unexpected...
Z PHPEdia.pl
Błędy zgłaszane jako parse error są błędami parsowania. Oznacza to, że gdzieś w kodzie znajduje się niepoprawna instrukcja lub brakuje jakiegoś znaku, np średnika.
Wyróżnia się następujące błędy parsowania.
Spis treści |
unexpected T_...
Najczęściej spotykane błędy to unexpected T_IF, unexpected T_STRING, itp. Wystąpienie takiego błędu oznacza, że interpreter natrafił na instrukcję, której się nie spodziewał. Najczęstszą przyczyną takich błędów, są literówki, np
while $var == 1) { echo 'ok'; }
Powyższy przykład wygeneruje błąd unexpected T_VARIABLE, ponieważ oczekiwanym znakiem jest otwierający nawias, a znakiem, na który natrafił interpreter jest znak zmiennej ($).
Błędy tego typu są trudne do wytropienia, ponieważ komunikat błędu zawiera numer wiersza inny niż ten, w którym wystąpił błąd. Interpreter informuje w ten sposób, że w podanym wierszu oczekiwał innego znaku. Dlatego też należy sprawdzić wiersz poprzedzający wystąpienie błędu.
Pełną listę identyfikatorów, zwanych tokenami, można znaleźć w dokumentacji: http://pl2.php.net/tokens
unexpected $end
Błąd tego typu pojawia się w przypadku, gdy interpreter osiągnął koniec pliku, a mimo to nie odnalazł jakiegoś symbolu. W zdecydowanej ilości przypadków błąd ten oznacza nie domknięcie nawiasu klamrowego.
while ($var == 1) { echo 'ok';
W przypadku skomplikowanych instrukcji warunkowych może być to nie lada wyzwanie.
unexpected ';'
Najczęstszą przyczyną powstawania tego błędu są literówki w kodzie lub zostawianie na później uzupełnienie jakiegoś fragmentu kodu.
$var1 = ;
Najczęstsze nieoczekiwane znaki to średnik (;), znak równości (=) lub nawiasy różnego typu.
Linki zewnętrzne
- Metody rozwiązania błędu
- Inne przyczyny błędu
- PHP Errors List - lista popularnych błędów PHP i sposoby ich rozwiązania
Jest to element FAQ, czyli zestawienia odpowiedzi na najczęściej zadawane pytania.
Zestawienie: Informacje | Podstawy PHP | Porady praktyczne | Pytania z forum | Bezpieczeństwo
