Почему синтаксический анализ tpl-файла в CodeIgniter выдает ошибку на веб-сервере?

Итак, мой друг, владеющий доменом, над которым мы работаем, настроил живой сервер разработки, чтобы я мог загружать свои файлы. Ранее я разрабатывал WAMP. Я загрузил файлы CodeIgniter на веб-сервер (вместе с приложением) и обновил файлы конфигурации. Когда в конфиге все заработало, я обновил страницу и получил ошибку.

Parse error: syntax error, unexpected T_STRING in /blah/blah/html/application/frontend/views/overall_header.tpl on line 1

Это самый первый файл TPL, вызываемый в сценарии. Я использую библиотеку анализатора шаблонов CI для анализа файлов TPL. Он отлично работал на WAMP, но теперь выдает мне эту ошибку. Файл TPL — это просто чистый HTML.

Есть идеи?

PS: Веб-хост — Media Temple.

Базовое командование

<div id="header">

    <div id="toolbar">

        <ul>
            {TOOLBAR}
        </ul>

        <div id="search">

            <form action="#" method="POST">

                <input type="text" name="criteria" value="Enter search criteria, then press enter." class="text-input">

            </form>
        </div>

    </div>

    <div id="banner">

        <div class="logo">
            <a href="index.html" title="Home Page"></a>
        </div>

    </div>

    <div id="navigation">

        <ul>
            {MAIN_NAVIGATION}
        </ul>

    </div>

</div>

person ShoeLace1291    schedule 01.07.2013    source источник
comment
опубликуйте код application/frontend/views/overall_header.tpl on line 1   -  person M Khalid Junaid    schedule 01.07.2013
comment
CI попытайтесь включить ваш файл tpl как файл PHP. Странно, что он у вас работает на WAMP. Добавьте .php к имени файла.   -  person Aurel    schedule 03.07.2013


Ответы (1)


Возможно, это проблема с разницей между символами новой строки в системах Windows и Linux. На локальном компьютере вы используете WAMP (Windows), поэтому вы используете \r\n в качестве символов новой строки. На хостинге (надеюсь, Linux-подобном хостинге?) он работает некорректно, потому что стандартный символ новой строки Linux - это \n . Чтобы решить эту проблему, вам нужно изменить все \r\n на \n перед размещением файлов на хостинге. Чтобы предотвратить это в будущем, используйте редактор/IDE, который может работать с линуксоподобными строковыми символами и может изменять настройки среды WAMP, относящиеся к новым линейным символам. Это невидимые символы, и вы используете их в любых файлах, содержащих разрывы строк. Проверьте эти настройки в своем редакторе: введите здесь описание изображения

person ToxaBes    schedule 01.07.2013
comment
спасибо за ответ, но я не использую \r\n ни в одном из файлов. Это просто чистый HTML со случайным добавлением {SOME_TAG}. - person ShoeLace1291; 02.07.2013
comment
Я немного изменил свой предыдущий ответ, добавив изображение. Может быть, это прояснит для вас больше. - person ToxaBes; 02.07.2013