Laravel — синтаксическая ошибка, неожиданный конец файла

У меня есть веб-сайт, который отлично работает на хосте, но сейчас я пытаюсь установить его на локальном хосте.

Я все скачал и настроил для работы на локальном хосте — База данных и URL.

Проблема в этой ошибке:

Необработанное исключение

Сообщение:

синтаксическая ошибка, неожиданный конец файла.

C:\Program Files (x86)\EasyPHP-12.1\www\laravel\view.php(386): код eval() в строке 118

И я не знаю, чем это вызвано. Любые решения?

P.S. Я установил в своем хост-файле Windows 127.0.0.1 myproject.dev.


person Ivanka Todorova    schedule 20.04.2013    source источник


Ответы (4)


В одном из ваших представлений есть ошибка. Если есть более подробная трассировка стека, она должна показать вам детали представления, хотя имя будет строкой md5(), поэтому его немного сложно найти. Возможно, вы захотите удалить все скомпилированные представления Blade в storage/views и позволить Blade повторно скомпилировать представления.

Если вы по-прежнему получаете сообщение об ошибке, проверьте свои представления, чтобы убедиться, что у вас есть все правильные закрывающие теги, например, @endif или @endforeach.

Всегда дважды проверяйте свои представления на наличие синтаксических ошибок.

person Jason Lewis    schedule 20.04.2013
comment
Похоже, у меня не были включены короткие теги. :( Пока все нормально. - person Ivanka Todorova; 20.04.2013
comment
Тоже бы получилось! Вместо того, чтобы использовать короткие теги, вы должны взглянуть на Blade. :) - person Jason Lewis; 20.04.2013
comment
Я думаю, что это лезвие является преобразованием @foreach($foo as $bar) в <? foreach($foo as $bar): ?>. В любом случае я исправил это. Спасибо за ваш ответ. - person Ivanka Todorova; 21.04.2013
comment
Подумайте о том, чтобы отметить это как правильный ответ, если он отвечает на ваш вопрос, иначе люди сочтут его нерешенным. - person Jason Lewis; 22.04.2013
comment
Хорошо, но просто отредактируйте свой ответ и включите возможность с короткими тегами. Так что если у кого-то возникнет эта проблема найти ее легко. :) - person Ivanka Todorova; 22.04.2013
comment
В моем случае это была отсутствующая точка с запятой в файле маршрутов. Жаль, что в сообщении об ошибке даже не упоминается имя файла! - person ankush981; 02.10.2016
comment
@dotslash Где вы пропустили точку с запятой? - person Luigi Lopez; 04.04.2018
comment
@LuigiLopez Слишком давно, чтобы помнить сегодня, но я думаю, в конце определения маршрута. . . - person ankush981; 04.04.2018

Я столкнулся с этой же ошибкой и смог исправить ее, добавив пробелы к содержимому во встроенном операторе if. Например:

Опытная ошибка с:

@if( BLAH )Output@endif

Исправлена ​​ошибка с:

@if( BLAH ) Output @endif

Это может быть проблемой не во всех случаях, и ее, безусловно, было трудно отследить, но это всего лишь один пример, который может вызвать именно эту ошибку.

person Benjamin Kohl    schedule 12.06.2014
comment
У меня тоже была эта проблема, и это решило ее. Эта проблема, похоже, возникла из-за того, что мы обновились до Laravel 4.2; старый код отлично работает в Laravel 4.1. См. также этот вопрос. - person Scott Weldon; 06.02.2015

Вариант этой проблемы - у меня был php-блок, который я открыл с помощью <?, а не <?php, отлично работал на LocalHost/MAMP, но выдавал указанную выше ошибку в Nginx/Ubuntu 16.04/PHP7 (оба Laravel)

person Phil McCarty    schedule 16.08.2016
comment
Вероятно, это связано с отключенными короткими тегами в вашей конфигурации php.ini. Включить их довольно просто. - person Ivanka Todorova; 17.08.2016

вы должны удалить символ из файла просмотра. например, мой символ был "," (запятая) перед некоторым "@endfor". когда я удаляю те, которые работали!

person Farshid    schedule 20.09.2017