Как включить PHP короткие теги?
у меня есть веб-приложение на сервере Linux, который начинается с <?
мне нужно было скопировать это приложение в среду windows, и все работает нормально, за исключением того, что оператор SQL отображается по-разному. Я не знаю, имеет ли это отношение к сценарию, начинающемуся с <?php вместо <? потому что я не знаю, откуда включить <? с PHP.ini поэтому я изменил его, чтобы <?php
Я знаю, что эти 2 высказывания должно означать то же самое, но мне нужно проверить его с <? для того, чтобы убедиться, что приложение точно такое же. Таким образом, я могу исключить еще одну возможность.
спасибо
18 ответов:
Set
short_open_tag=Onin php.ini
и перезагрузите сервер Apache.
Это можно сделать, включив short_open_tag на php.ini:
short_open_tag = onЕсли у вас нет доступа к PHP.ini вы можете попробовать включить их через .htaccess файл но возможно хостинговая компания отключила это, если вы находитесь на общем хостинге:
php_value short_open_tag 1для людей, которые думают, что short_open_tags-это плохая практика начиная с php 5.4
<?= ... ?>shorttag будет поддерживаться везде, независимо от настройки, поэтому нет причин не использовать их, если вы можете управлять настройками на сервере. Также сказано в этой ссылке:short_open_tag
это можно сделать, включив short_open_tag в php.ini:
1.To найдите php.ini файл, в строке комментария выполнить
php --iniвы получите что-то вроде этого,
Configuration File (php.ini) Path: /etc Loaded Configuration File: /etc/php.ini Scan for additional .ini files in: /etc/php.d Additional .ini files parsed: /etc/php.d/curl.ini, /etc/php.d/fileinfo.ini, /etc/php.d/gd.ini, /etc/php.d/json.ini, /etc/php.d/mcrypt.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_sqlite.ini, /etc/php.d/phar.ini, /etc/php.d/sqlite3.ini, /etc/php.d/zip.iniсм. 2-ю строку из вывода комментария.Файл будет находиться в указанном пути.
2.Откройте php.ini и найдите
short_open_tag. По умолчанию он находится вoffизменить наon.3.Перезагрузите сервер, выполните этот комментарий
service httpd restartспасибо
чтобы установить короткие теги, чтобы открыть из сценария установки бродяги на Ubuntu:
sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini
Я вижу, что все ответы выше являются только частично правильными. На самом деле все приложения 21st Century PHP будут иметь FastCGI Process Manager(php-fpm), поэтому, как только вы добавили php-info() в свой тест.PHP-скрипт и проверил правильный путь для PHP.ini
Go to php.ini and set short_open_tag = Onважно: затем вы должны перезапустить процесс php-fpm, чтобы это могло работать!
sudo service php-fpm restartи затем, наконец, перезагрузите сервер nginx / http
sudo service nginx restart
Как просто, как это, выполните следующие действия:
- перейти к php.ini-файл
- найдите, 'short_open_tag' и установите его в положение on,
- перезагрузить сервер
Так, short_open_tag = On
в CentOS 6 (проверено на Centos 7 тоже) вы не можете установить short_open_tag в /etc/php.ini для php-fpm. У вас будет ошибка:
ERROR: [/etc/php.ini:159] unknown entry 'short_open_tag' ERROR: Unable to include /etc/php.ini from /etc/php-fpm.conf at line 159 ERROR: failed to load configuration file '/etc/php-fpm.conf' ERROR: FPM initialization failedвы должны изменить конфигурацию для вашего сайта, который можно найти в /etc/php-fpm.d / www.конф И напишите в конце файла:
php_value[short_open_tag] = On
Если вы редактируете свой php.ini-файл, не забудьте перезапустить свой сервис (apache2 и т. д.) Для редактирования на php.ini вступит в силу
если вы используете
UbuntuсApache+php5, то на текущих версиях есть 2 места, где вам нужно изменить наshort_open_tag = On
/etc/php5/apache2/php.ini- это для страниц, загруженных через веб-сервер (Apache)/etc/php5/cli/php.ini- эта конфигурация используется при запуске php-файлов из командной строки, например:php yourscript.php- это касается вручную или cronjob выполняется php файлы непосредственно на сервере.
для пользователей сервера Wamp есть более простой способ: Вы можете включить эту настройку просто (слева) нажмите один раз на значок WampServer, выберите PHP -> PHP settings -> short open tag. Подождите секунду, а затем WampServer автоматически перезапустит ваш PHP, а также его веб-сервис.
первоначально от:http://osticket.com/forums/showthread.php?t=3149
; Default Value: On ; Development Value: Off ; Production Value: Off ; http://php.net/short-open-tag ;short_open_tag=Off <--Comment this out ; XAMPP for Linux is currently old fashioned short_open_tag = On <--Uncomment this
Если вы используете xampp, вы заметите php.ini-файл дважды упоминал short_open_tag . Включите второй, чтобы short_open_tag = On . Первый из них закомментирован, и у вас может возникнуть соблазн раскомментировать и отредактировать его, но он перегружен вторым short_open_tag
Если вы используете xampp в windows, то, пожалуйста, сделайте следующее
- Откройте Панель управления XAMPP.
- нажмите на кнопку CONFIG.
- перейти к PHP (php.опция в ini).
найти short_open_tag с помощью ctrl + f utility
вы нашли
;short_open_tagпожалуйста, удалите точку с запятой (;) из строки.
и
short_open_tag = onнаконец, перезагрузите сервер Apache
чтобы включить short_open_tag для конкретного домена с php-fpm, необходимо отредактировать :
/ etc/php5/fpm / pool.d / xxxxxxxxxx.conf
где xxxxx-номер сокета домена.
и добавить: php_value[short_open_tag] = On
sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php/7.2/apache2/php.iniэто работает на php7.2 на ubuntu 16, тот же ответ, что и выше от Bradley Flood, хотя каталог, в котором хранится файл конфигурации, изменился.
также вы можете изменить версию в строке php, чтобы она соответствовала вашей текущей установленной версии.
установить
asp_tags = Onиshort_open_tag = Onв файлы\apache\Apache2.2.21\bin\php.iniи\bin\php\php5.3.8\php.iniа затем перезапустите сервер apache.
Comments