2013-04-20 100 views
11

我有一個能在主機上正常工作的網站,但我目前正在嘗試將它安裝在本地主機上。Laravel - 語法錯誤,文件意外結束

我已經下載了所有內容,並已配置爲在本地主機上工作 - 數據庫& URL。

問題是這樣的錯誤:

Unhandled Exception

Message:

syntax error, unexpected end of file Location:

C:\Program Files (x86)\EasyPHP-12.1\www\laravel\view.php(386) : eval()'d code on line 118

而且我不知道是什麼原因造成的。任何解決方案

P.S.我已經安裝在我的Windows主機文件127.0.0.1 myproject.dev中。

回答

19

您的某個視圖中有錯誤。如果有更詳細的堆棧跟蹤,它應該會顯示一個視圖的詳細信息,但名稱將是一個md5()字符串,因此有點難以找到。您可能想要刪除storage/views中的所有已編譯刀片視圖,然後讓刀片重新編譯視圖。

如果仍然出現則錯誤校驗你的意見,以確保您擁有所有正確的結束標記,例如@endif@endforeach

務必仔細檢查您的觀點對任何語法錯誤。

+2

它看起來像我沒有打開我的短標籤。 (到目前爲止一切正常:) – 2013-04-20 03:45:29

+0

這樣做也可以做到!而不是使用短標籤,你應該看看Blade。:) – 2013-04-20 03:59:24

+0

我認爲刀片是轉換'@foreach($ foo as $ bar)'到' <? foreach($ foo as $ bar):?>'。反正我解決了這個問題。感謝您的答覆。 – 2013-04-21 16:32:41

6

我遇到了這個相同的錯誤,我能夠通過向內聯if語句中的內容添加空格來修復它。例如:

經驗的誤差:

@if(BLAH)[email protected] 

修正誤差:

@if(BLAH) Output @endif 

這可能不是在所有情況下的一個問題,它肯定是難以追查,但它僅僅是一個可能導致這個確切錯誤的例子。

+0

我也有這個問題,這解決了它。這個問題似乎發生了,因爲我們升級到了Laravel 4.2;舊代碼在Laravel 4.1中運行良好。另見[這個問題](http://stackoverflow.com/questions/24184925/unexpected-endforeach-in-blade-template/)。 – 2015-02-06 16:46:23

+0

它的工作!整蠱!謝謝你 – facundofarias 2015-11-04 14:55:32

1

這個問題的一個變化 - 我有一個PHP代碼塊,我想與 <?而不是<?php在localhost/MAMP工作正常打開,但在Nginx的/ Ubuntu的16.04/PHP7了上述錯誤(包括Laravel)

+0

這可能是由於你的'php.ini'配置中禁用了短標籤。啓用它們非常簡單。 – 2016-08-17 13:31:54

0

你應該從視圖文件中刪除一個字符。例如我的角色在「@endfor」之前是「,」(逗號)。當我刪除那些工作!