Intereting Posts

<? ?> не работает в php 5.3.1

Я только что установил php 5.3.1 на моем Linux-сервере, и теперь моя старая работа, которую я использовал для написания с тегами, совсем не работает.

Пожалуйста, помогите мне. Как я могу это решить?

    Чтобы включить короткие теги, включите директиву short_open_tag ini одним из следующих способов (скорее всего, не все из них будут работать для вас):

    • установите директиву short_open_tag = On в вашем php.ini ( рекомендуется );
    • вызовите ini_set("short_open_tag", 1); в вашем коде;
    • добавьте следующую строку в файл .htaccess:

      php_value short_open_tag 1


    Больше объяснений:

    Не рекомендуется использовать короткие теги ( <? ?> ). Вы должны использовать теги полной длины ( <?php ?> ). Короткий синтаксис устарел, и если вы хотите, чтобы ваше приложение было переносимым, возможно, что короткие открытые теги не разрешены на другом сервере, и, следовательно, ваше приложение будет ломаться.

    С другой стороны , сокращение эха <?= $var ?> Включено по умолчанию, поскольку PHP 5.4 независимо от настроек php.ini и не будет устаревать. Вы можете использовать его вместо <?php echo $var; ?> <?php echo $var; ?>

    И для поведения по умолчанию:

     ------------------------------------------------ php.ini values : short_open_tag ------------------------------------------------ PHP 4, 5_0 * Default behaviour : on * php.ini-dist : on * php.ini-recommended : on PHP 5_1, 5_2: * Default behaviour : on * php.ini-dist : on * php.ini-recommended : off PHP 5_3: * Default behaviour : on * php.ini-development : off * php.ini-production : off 

    И причина того, что отпугивает короткие открытые теги:

    Эта директива определяет, будет ли PHP распознавать код между
    <? и ?> качестве источника PHP, который должен обрабатываться как таковой. Это было
    рекомендовал в течение нескольких лет, чтобы вы не использовали короткий тег «короткий отрезок» и
    вместо этого использовать полную комбинацию тегов <?php и ?> . При широком распространении использования XML и использовании этих тегов другими языками сервер может стать легко
    путают и заканчивают разбор неправильного кода в неправильном контексте. Но потому что
    этот короткий отрезок был признаком такого долгого времени, он в настоящее время по-прежнему
    поддерживаются для обратной совместимости, но мы рекомендуем их не использовать.

    Обратите внимание, что это отклонение RFC о коротких открытых тегах для шаблонов: http://wiki.php.net/rfc/shortags

    Похоже, вы получили short_open_tags, установленный в «Off» в вашем файле php.ini. Попробуйте установить его на «Вкл.» И перезапустите apache.

    Скорее всего, вам нужно включить короткие тэги в ваш файл конфигурации PHP. Не зная вашей конфигурации, я не мог сказать, где вы ее найдете, но вы ищете php.ini (скорее всего, где-то вроде /etc/php.ini ).

    В этом случае настройка, которую вы используете, – short_open_tags . См. Здесь все основные настройки конфигурации для PHP. Однако, как отмечали другие, использование коротких тегов не может быть лучшей стратегией. Вот хорошее обсуждение причин (за и против).

    может быть, ваша новая конфигурация не будет содержать коротких тегов. Просто используйте <?php ?> . В любом случае, это лучше.

    Если вы все еще хотите их использовать, вы можете short_open_tag . Также имейте в виду, что это не сработает, если у вас отключены короткие теги.

    Основная причина этого заключается в том, что вы можете использовать встроенные теги Xml.

    Если вы используете wamp или xamp, их очень легко активировать. Просто нажмите значок-> php server-> setting-> разрешите открывать короткий тег

    Лучше не использовать эту функциональность. Например, xml использует тот же способ, чтобы открыть заголовок в документах.