У php есть некоторые правила с открытым тегом <? ?>? - PullRequest
1 голос
/ 15 июня 2011

У меня есть приложение, которое имеет некоторый код PHP, я использую тег открытия / закрытия PHP:

<? 
        $anything;
        echo problem;

?>

Приложение не запущено.

Существуют ли некоторые правиладля этого типа открытия / закрытия (возможно, конфигурации php.ini), который может привести к тому, что приложение не будет запущено?

PS Будет ли лучший способ изменить все <? на <?php?

Ответы [ 5 ]

2 голосов
/ 15 июня 2011

запустите phpinfo (), найдите путь, по которому используется php.ini.Затем откройте файл и найдите short_open_tag

Включите или выключите его.

Но в целом .. используйте <?php ?> это лучше.

2 голосов
/ 15 июня 2011

Используйте <?php ?>.<? ?> называются короткими тегами, и не каждый сервер настроен для их поддержки.

1 голос
/ 16 июня 2011

Версия открытого тега <? называется «коротким тегом».Хотя сообщество php предпочитает использовать полную <?php версию этого тега, все же допустимо использовать короткие теги.В идеале мы все будем использовать <?php все время, но мы часто имеем дело с устаревшим кодом, и изменение всех вхождений с <? на <?php может быть утомительным и занимать много времени.Если вы оказались в ситуации, когда вам нужно разрешить интерпретатору php распознавать короткий тег, вы можете включить его в файле php.ini с помощью директивы " short_open_tag = 1 ".

Для нового кода, который вы разрабатываете, я бы рекомендовал использовать длинную версию тега <?php, поскольку вы знаете, что она будет совместима независимо от настройки ini, используемой в конфигурации php.ini серверов.Для получения дополнительной информации об этом см .: Допустимы ли для использования короткие теги Php здесь, в StackOverflow.

Чтобы выяснить , почему ваше приложение не работает, проверьте веб-сервер.журналы ошибок, а также журналы ошибок php, и рассмотрите возможность повышения уровня отчетов об ошибках php.Это также можно сделать в файле php.ini с помощью директивы error_reporting .Это позволит вам определить причину, по которой приложение не запускается, и тогда вы будете более информированы о дальнейших вопросах.

0 голосов
/ 15 июня 2011

Есть определенные моменты, когда подходит или возможно использовать подобные короткие теги для PHP

<?=$sign['last_connected']?>

, обратите внимание на <?= вместо <?php echo

0 голосов
/ 15 июня 2011

Вы должны использовать <?php ?> для обеспечения правильного разбора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...