почему стенографические операторы PHP не работают? - PullRequest
2 голосов
/ 19 мая 2009

Я пытаюсь настроить свой Mac в качестве php-сервера, однако, насколько бы успешным я ни был до сих пор, мне кажется, что я немного беспокоюсь.

Мои вступительные PHP-отчеты не работают ... но только стенографические.

Это работает:

<?php 
  phpinfo();
?>

Это не:

<?
  phpinfo();
?>

Это Mac 10.5. Надеюсь, что кто-то может помочь.

Спасибо

Ответы [ 3 ]

13 голосов
/ 19 мая 2009

В вашем php.ini установите short_open_tag на Вкл.

short_open_tag = On

Из документов:

short_open_tag логический

Сообщает, является ли краткая форма (<? ?>) открытого тега PHP должен быть позволил. Если вы хотите использовать PHP в сочетание с XML, вы можете отключить эта опция для использования <?xml ?> в соответствии. В противном случае вы можете распечатать его с PHP, например: <?php echo '<?xml version="1.0"'; ?>. Также если отключено, вы должны использовать длинную форму открытого тега PHP (<?php ?>).

Edit:

short_open_tag равен PHP_INI_ALL по состоянию на 5.3.0 , что означает, что его можно изменить где угодно (php.ini, .htaccess, в скрипте) И это был PHP_INI_PERDIR до 5.3.0, что означает, что он может быть установлен в php.ini и .htaccess. Поэтому вы можете изменить его значение в большинстве случаев, даже если вы не управляете сервером.

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

0 голосов
/ 19 мая 2009

Вы убедились, что short_open_tag (см. здесь ) включено в вашем php.ini?

0 голосов
/ 19 мая 2009

Проверьте, содержит ли ваш файл php.ini строку short_open_tag=1.

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