2012-12-21 16 views
8

Otrzymuję błąd unexpected end of file w widoku CodeIgniter.Błąd analizy składni PHP: błąd składni, nieoczekiwany koniec pliku w widoku CodeIgniter View

Wkleiłem kod PHP pod numerem http://codepad.org/S12oXE4t.

Ten kod przeszedł różne testy składni PHP w trybie online, ale nie wiem, dlaczego nadal pokazuje mi poniższy błąd podczas próby uruchomienia na serwerze WAMP.

Parse error: syntax error, unexpected end of file in 
E:\wampserver\www\CodeIgniter\application\views\layouts\default.php on line 676 

Dla porównania, line 676 jest ostatnim wierszem kodu. Co zrobiłem źle?

+4

Tęskniłeś za klamrą zamykającą gdzieś –

+0

Próbowałem kodu, i to działało, dopóki nie zżymał się o base_url. Czy popełniłeś błąd podczas kopiowania? – RonaldBarzell

+4

Jeśli napotkasz komunikat o błędzie, którego nie rozumiesz, nie jest to złe, aby odwiedzić: [Odsyłacz - Co ten błąd oznacza w PHP?] (Http://stackoverflow.com/q/12769982/367456) – hakre

Odpowiedz

51

Sprawdź ustawienie short_open_tag (użyj <?php phpinfo() ?> zobaczyć swoje bieżące ustawienie).

+7

Powinieneś zawrzeć to, co 'short_open_tag' ma, i do czego powinno ono być ustawione oraz dlaczego w samej odpowiedzi. –

+1

Chciałbym zagłosować tysiące razy, gdybym mógł, uratował mnie po 4 godzinach, rozbijając moją głowę na klawiaturze, próbując naprawić katastrofy z jakiegoś losowego wotsita, który na końcu wymyślił, że lubi wszędzie umieszczać przestarzałe shorttagi. – MacK

+0

Wow !! to jest tak ważny element - zmarnowałem prawie 2 godziny, próbując rozwiązać problem, gdy rozwiązanie jest tak proste. – ChicagoSky

18

Unexpected end of file oznacza, że ​​oczekiwano czegoś innego, zanim parser PHP dotrze do końca skryptu.

Sądząc z OGROMNYM pliku, to chyba, że ​​jesteś brakuje nawiasu zamykającego (}) ze stwierdzeniem if.

proszę przynajmniej próbować następujące rzeczy:

  1. oddzielny kod z widoku logiki.
  2. Bądź konsekwentny, używasz końcówki ; w niektórych wbudowanych wyrażeniach PHP, a nie w innych, np. <?php echo base_url(); ?> vs <?php echo $this->layouts->print_includes() ?>. Nie jest to wymagane, więc nie używaj go (lub po prostu wykonaj jedno lub drugie).
  3. Powtarzające się, ponieważ ważne jest, oddziel swoje obawy. Nie ma potrzeby, aby cały ten kod był potrzebny.
  4. Używaj IDE, to pomoże ci z takimi błędami jak w przyszłości.
+0

Jeśli to jest} lub; IDE musi wskazać problem. Testowałem w różnych IDE, ale żaden IDE nie wskazał błędu. – lock

+3

@lock Nie, jeśli błąd jest gdzieś zawarty. –

3

Zwykle problem nie jest zamykające nawiasy (}) lub brakujące średnik (;)

+0

Jeśli to jest} lub; IDE musi wskazać problem. Testowałem w różnych IDE, ale żaden IDE nie wskazał błędu. – lock

Powiązane problemy