¿Cómo habilitar etiquetas cortas PHP?
Tengo una aplicación web en un servidor Linux que comienza con<?
Necesitaba copiar esta aplicación a un entorno de Windows y todo funciona bien, excepto que una declaración SQL se representa de manera diferente. No sé si esto tiene que ver con el script que comienza con <?php
en lugar de <?
porque no sé desde dónde habilitar el <?
, PHP.ini
así que lo cambié a<?php
Sé que se supone que estas 2 declaraciones significan lo mismo, pero necesito probarlas <?
para asegurarme de que la aplicación sea exactamente igual. De esta manera puedo eliminar otra posibilidad.
Gracias
Colocar
short_open_tag=On
en php.ini
Y reinicie su servidor Apache.
Esto se puede hacer habilitando short_open_tag en php.ini :
short_open_tag = on
Si no tiene acceso a php.ini, puede intentar habilitarlos a través del archivo .htaccess , pero es posible que la empresa de alojamiento lo haya desactivado si está en un alojamiento compartido:
php_value short_open_tag 1
Para las personas que piensan que short_open_tags son una mala práctica a partir de php 5.4, el <?= ... ?>
shorttag se admitirá en todas partes , independientemente de la configuración, por lo que no hay razón para no usarlos si puede controlar la configuración en el servidor. También dicho en este enlace: short_open_tag
Esto se puede hacer habilitando short_open_tag en php.ini:
1.Para localizar el archivo php.ini, ejecute en la línea de comentarios
php --ini
obtendrás algo como esto,
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
Consulte la segunda línea del resultado del comentario. El archivo estará en la ruta mencionada.
2.Abra el archivo php.ini y busque short_open_tag
. Por defecto está en off
cambiarlo a on
.
3.Reinicie el servidor, ejecute este comentario.
service httpd restart
Gracias
Para configurar etiquetas cortas para abrir desde un script de instalación de Vagrant en Ubuntu:
sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini
Puedo ver que todas las respuestas anteriores son solo parcialmente correctas. En realidad, todas las aplicaciones PHP del siglo XXI tendrán FastCGI Process Manager (php-fpm), por lo que una vez que haya agregado php-info() en su script test.php y haya verificado la ruta correcta para php.ini
Go to php.ini and set short_open_tag = On
IMPORTANTE: ¡entonces debes reiniciar tu proceso php-fpm para que esto pueda funcionar!
sudo service php-fpm restart
y luego finalmente reinicie su servidor nginx/http
sudo service nginx restart