Ошибка PHP Parse: синтаксическая ошибка, неожиданный конец файла в представлении CodeIgniter

Я получаю ошибку unexpected end of file в представлении CodeIgniter.

Я вставил код PHP на http://codepad.org/S12oXE4t.

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

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

Для справки, line 676 - последняя строка в коде. Что я сделал не так?

Ответ 1

Проверьте настройки short_open_tag (используйте <?php phpinfo() ?>, чтобы увидеть его текущую настройку).

Ответ 2

Unexpected end of file означает, что перед тем, как парсер PHP достигнет конца script, ожидалось что-то еще.

Судя по вашему файлу HUGE, возможно, что вы не видите замыкающую скобку (}) из оператора if.

Пожалуйста, по крайней мере, попробуйте следующее:

  • Отделите свой код от логики представления.
  • Будьте последовательны, вы используете end ; в некоторых встроенных PHP-инструкциях, а не в других, т.е. <?php echo base_url(); ?> vs <?php echo $this->layouts->print_includes() ?>. Это не требуется, поэтому не используйте его (или делайте, просто сделайте то или другое).
  • Повторяется, потому что это важно, отделите свои проблемы. Там нет необходимости во всем этом коде.
  • Используйте IDE, это поможет вам с такими ошибками, как это происходит.

Ответ 3

Обычно проблема заключается не в закрытии скобок (}), либо в отсутствии точки с запятой (;)

Ответ 4

В нем говорится, что функция base_url() не определена (по крайней мере, в используемой версии php), попробуйте определить ее следующим образом:

function base_url(){
  return $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}