
Для включения коротких тегов необходимо изменить файл конфигурации php.ini. Найдите строку short_open_tag = Off и замените значение на On. После сохранения настроек потребуется перезапустить веб-сервер, чтобы изменения вступили в силу. В средах Apache достаточно выполнить команду systemctl restart apache2, а в Nginx с PHP-FPM – systemctl restart php-fpm.
Если доступ к глобальному php.ini ограничен, можно использовать файл .htaccess с директивой php_flag short_open_tag on (актуально только для Apache с активным модулем mod_php). В проектах на виртуальном хостинге настройка нередко выполняется через панель управления, где параметр short_open_tag доступен в разделе PHP-конфигурации.
При работе с современными CMS и фреймворками использование коротких тегов лучше исключать. Но для поддержки старых приложений данная настройка позволяет избежать массового переписывания кода и сохранить совместимость без дополнительных изменений.
Проверка поддержки коротких тегов в текущей версии PHP

В версиях PHP начиная с 7.0 короткий вариант <?= работает всегда, независимо от настроек. Однако конструкции вида <? echo "текст"; ?> требуют включённой директивы. Это важно учитывать при переносе проектов на новые окружения.
Для надёжной проверки создайте файл с кодом <? echo "OK"; ?>, сохраните его в корне веб-сервера и откройте в браузере. Если в ответ вы видите OK, значит короткие теги поддерживаются. Если браузер показывает исходный код без интерпретации – опция отключена.
Определение расположения основного файла php.ini

Чтобы изменить параметры PHP, включая поддержку коротких тегов, необходимо найти файл php.ini. Его точное расположение зависит от конфигурации сервера и способа установки PHP.
Если доступ ограничен только веб-интерфейсом, создайте файл с содержимым <?php phpinfo(); ?> и откройте его в браузере. В таблице настроек найдите поле Loaded Configuration File, где указан полный путь.
На системах Linux и macOS файл обычно находится в /etc/php/[версия]/cli/ или /etc/php/[версия]/apache2/. В Windows чаще всего используется путь C:\php\php.ini или каталог установки XAMPP/WAMP.
Если в системе присутствует несколько версий PHP (например, для CLI и веб-сервера), у каждой из них может быть собственный php.ini. Поэтому важно проверять именно тот, который применяется в контексте нужного окружения.
Изменение параметра short_open_tag в php.ini
Параметр short_open_tag определяет возможность использования коротких тегов <? ... ?>. Для изменения настройки требуется доступ к файлу php.ini, который находится в каталоге установки PHP или в конфигурации веб-сервера.
- Определите местоположение активного
php.ini. Быстрее всего сделать это через выполнениеphpinfo()и поиск строки Loaded Configuration File. - Откройте файл в текстовом редакторе с правами администратора.
- Найдите директиву
short_open_tag. По умолчанию она может быть закомментирована символом;. - Измените строку:
short_open_tag = Off– короткие теги запрещены;short_open_tag = On– короткие теги разрешены.
- Сохраните изменения.
- Перезапустите веб-сервер (например,
systemctl restart apache2илиsystemctl restart php-fpm).
Проверка выполняется запуском PHP-файла с коротким тегом. Если параметр включён, код будет интерпретирован корректно.
Важно: начиная с PHP 7.4, использование короткого тега <?= всегда включено и не зависит от short_open_tag. Ограничение касается только формата <? ... ?>.
Применение изменений через перезапуск веб-сервера

После активации коротких тегов в php.ini изменения вступят в силу только после перезапуска веб-сервера. Без этой процедуры интерпретатор продолжит работать с предыдущими параметрами.
Для Apache используйте команду sudo systemctl restart apache2 (Debian/Ubuntu) или sudo systemctl restart httpd (CentOS/RHEL). Если сервер работает через модуль php-fpm, требуется перезапустить и его: sudo systemctl restart php-fpm.
В случае Nginx перезапуск осуществляется командой sudo systemctl restart nginx, а затем аналогично перезапускается php-fpm с нужной версией: sudo systemctl restart php8.1-fpm или другой, установленной в системе.
Проверить применение изменений можно с помощью файла info.php с функцией phpinfo(). В блоке short_open_tag должно отображаться значение On. Если этого нет, проверьте правильность редактирования нужного php.ini и корректность перезапуска соответствующих служб.
Настройка коротких тегов через .htaccess при ограниченном доступе
Если нет прав изменять php.ini, параметр short_open_tag можно задать локально в файле .htaccess. Для этого используется директива php_value, однако её поддержка зависит от конфигурации Apache и типа хостинга.
Пример минимальной настройки:
php_value short_open_tag On
При активации возможны ограничения: на некоторых серверах использование php_value блокируется. В таком случае сервер вернёт ошибку 500. Чтобы проверить доступность, достаточно создать тестовый файл с директивой и загрузить его на сервер.
Основные сценарии поведения:
| Сценарий | Результат |
|---|---|
Поддержка php_value |
Короткие теги работают без изменений в глобальной конфигурации |
| Запрет директивы | Ошибка 500, требуется обращаться к настройкам панели управления или поддержке |
| PHP работает в CGI/FastCGI | .htaccess игнорируется, параметр задаётся через php.ini или .user.ini |
Перед внесением правок рекомендуется сделать резервную копию файла .htaccess, чтобы при ошибке быстро восстановить доступ к сайту.
Включение коротких тегов с помощью директивы в httpd.conf или nginx.conf

Для Apache изменение поддержки коротких тегов PHP выполняется через файл httpd.conf или отдельный конфигурационный файл виртуального хоста. Найдите директиву php.ini или добавьте в httpd.conf строку:
php_value short_open_tag On
После изменения конфигурации перезапустите сервер командой apachectl restart или systemctl restart apache2. Для отдельных виртуальных хостов директива может быть добавлена внутри блока <VirtualHost>, что позволяет включать короткие теги только на нужных сайтах.
В Nginx PHP обрабатывается через FastCGI, поэтому настройка short_open_tag выполняется в файле php.ini, на который ссылается fastcgi_param PHP_VALUE в nginx.conf или конфигурации сайта. Пример:
fastcgi_param PHP_VALUE "short_open_tag=On";
После внесения изменений в nginx.conf требуется перезагрузка Nginx: systemctl reload nginx. Проверка включения коротких тегов выполняется через phpinfo() или команду php -i | grep short_open_tag.
Проверка работоспособности коротких тегов в тестовом скрипте

Для проверки корректной работы коротких тегов PHP создайте отдельный тестовый файл с расширением .php. Рекомендуется использовать простой скрипт, минимизирующий возможные ошибки синтаксиса.
Пример тестового скрипта:
<?
echo "Короткие теги работают";
?>
Рекомендации по проверке:
- Разместите файл в корневой директории веб-сервера, доступной через браузер.
- Откройте файл в браузере через URL, соответствующий серверному пути.
<?
phpinfo();
?>
В phpinfo() ищите строку short_open_tag. Значение On подтверждает, что короткие теги активированы, Off – необходимо включить их в конфигурации.
Для автоматизации тестов в локальной среде рекомендуется создавать отдельную папку с тестовыми скриптами, чтобы избежать конфликтов с основными проектами.
Важно: после изменения php.ini сервер всегда требует перезапуска для применения новых настроек.
Вопрос-ответ:
Что такое короткие теги PHP и зачем они нужны?
Короткие теги PHP — это упрощённый вариант стандартного синтаксиса для открытия блока PHP: вместо <?php используется <?. Они позволяют писать код быстрее и компактнее, особенно в шаблонах HTML. Однако их использование может вызвать проблемы с переносимостью кода, так как не все серверы поддерживают этот формат по умолчанию.
Как проверить, включены ли короткие теги на сервере?
Для проверки можно создать небольшой файл PHP с командой phpinfo();. В выводе страницы нужно найти параметр short_open_tag. Если его значение установлено в On, короткие теги разрешены, если Off — они отключены и использовать <? вместо <?php не получится.
Каким образом можно включить короткие теги через php.ini?
Необходимо открыть файл конфигурации PHP (обычно php.ini) и найти строку short_open_tag. Её нужно изменить на short_open_tag = On. После внесения изменений требуется перезапустить веб-сервер, чтобы новые настройки вступили в силу.
Можно ли активировать короткие теги без редактирования php.ini?
Да, это возможно с помощью файла .htaccess или функции ini_set, если сервер поддерживает такие изменения на уровне локальных настроек. В .htaccess нужно добавить строку php_value short_open_tag 1. При использовании ini_set добавляют ini_set('short_open_tag', '1'); в начале скрипта. Однако на некоторых хостингах такие способы блокируются.
Какие риски связаны с включением коротких тегов PHP?
Основной риск — переносимость кода. Если на другом сервере короткие теги отключены, скрипты с использованием <? вместо <?php не будут работать. Кроме того, возможны конфликты с XML, где <? используется для объявления инструкций. Поэтому стоит взвесить, насколько важно использовать короткий формат перед его активацией.
Как проверить, включены ли короткие теги PHP на сервере?
Чтобы узнать, активированы ли короткие теги, можно создать файл с кодом <?php phpinfo(); ?> и открыть его через браузер. В открывшейся информации нужно найти параметр short_open_tag. Если рядом стоит значение On, значит короткие теги разрешены, если Off — они отключены. Альтернативно можно написать небольшой скрипт с коротким тегом <? echo "test"; ?> и проверить, выводится ли текст корректно.
Каким образом включить короткие теги PHP на сервере под управлением Apache?
Для активации коротких тегов нужно изменить конфигурацию PHP. Обычно это делается через файл php.ini. В нём нужно найти строку short_open_tag = Off и заменить на short_open_tag = On. После сохранения изменений необходимо перезапустить веб-сервер, чтобы новые настройки вступили в силу. Если доступ к php.ini ограничен, можно попробовать добавить директиву php_value short_open_tag 1 в файл .htaccess, хотя это работает не на всех конфигурациях. После изменений стоит проверить работу коротких тегов с простым тестовым скриптом.
