J'ai une application Web sur un serveur Linux qui commence par <?
J'avais besoin de copier cette application dans un environnement Windows et tout fonctionne bien sauf qu'une instruction SQL est rendue différemment. Je ne sais pas si cela a à voir avec le script commençant par <?php
au lieu de <?
parce que je ne sais pas d'où activer le à <?
partir du PHP.ini
donc je l'ai changé en<?php
Je sais que ces 2 déclarations sont censées signifier la même chose, mais je dois les tester <?
afin de m'assurer que l'application est exactement la même. De cette façon, je peux éliminer une autre possibilité.
Merci
php
tags
php-shorttags
graine
la source
la source
Réponses:
Ensemble
dans php.ini
Et redémarrez votre serveur Apache.
la source
/etc/php5/apache2/php.ini
php --ini
pour localiser le fichier de configuration chargé (Fichier de configuration chargé: /etc/php5/cli/php.ini)Cela peut être fait en activant short_open_tag dans php.ini :
Si vous n'avez pas accès au php.ini, vous pouvez essayer de les activer via le fichier .htaccess mais il est possible que la société d'hébergement ait désactivé cela si vous êtes sur un hébergement partagé:
Pour les personnes qui pensent que les short_open_tags sont de mauvaises pratiques à partir de php 5.4, le
<?= ... ?>
shorttag sera pris en charge partout , quels que soient les paramètres, il n'y a donc aucune raison de ne pas les utiliser si vous pouvez contrôler les paramètres sur le serveur. Également dit dans ce lien: short_open_tagla source
<? echo $var ?>
balise ouverte courte mais de la<?= $var ?>
balise ouverte courte. Afaik XML ne devrait pas être affecté.<?=
est pour les modèles et je pense que c'est assez valable. D'autres langages de modèles comme la moustache utilisent également de courtes balises simples{{var}}
. PHP est souvent utilisé comme langage de template et devoir faire<?php echo $var ?>
est tellement plus laid qu'en<?=$var?>
HTML inline.Cela peut être fait en activant short_open_tag dans php.ini:
1.Pour localiser le fichier php.ini, exécutez la ligne de commentaire
vous obtiendrez quelque chose comme ça,
Voir la 2ème ligne de la sortie du commentaire. Le fichier sera dans le chemin mentionné.
2.Ouvrez le fichier php.ini et recherchez
short_open_tag
. Par défaut, il estoff
remplacé paron
.Redémarrez le serveur, exécutez ce commentaire
Merci
la source
Pour définir des balises courtes à ouvrir à partir d'un script d'installation Vagrant sur Ubuntu:
la source
Je peux voir que toutes les réponses ci-dessus sont partiellement correctes uniquement. En réalité, toutes les applications PHP du 21e siècle auront FastCGI Process Manager (php-fpm) donc une fois que vous avez ajouté php-info () dans votre script test.php et vérifié le chemin correct pour php.ini
IMPORTANT: vous devez alors redémarrer votre processus php-fpm pour que cela fonctionne!
puis redémarrez enfin votre serveur nginx / http
la source
vous devez activer short_open_tags.
la source
Aussi simple que cela, suivez les étapes suivantes:
php.ini
fichierTrouvez-le
short_open_tag
et réglez-le suron
Redémarrez le serveur
la source
Dans CentOS 6 (testé également sur Centos 7), vous ne pouvez pas définir short_open_tag dans /etc/php.ini pour php-fpm. Vous aurez une erreur:
Vous devez modifier la configuration de votre site, qui se trouve dans /etc/php-fpm.d/www.conf Et écrire à la fin du fichier:
la source
Si vous utilisez
Ubuntu
avecApache+php5
, alors sur les versions actuelles il y a 2 endroits où vous devez changer pourshort_open_tag = On
/etc/php5/apache2/php.ini
- c'est pour les pages chargées via votre serveur web (Apache)/etc/php5/cli/php.ini
- cette configuration est utilisée lorsque vous lancez vos fichiers php à partir de la ligne de commande, comme:php yourscript.php
- cela vaut pour les fichiers php exécutés manuellement ou cronjob directement sur le serveur.la source
si vous modifiez votre fichier php.ini, n'oubliez pas de redémarrer votre service (apache2, etc.) pour que les modifications de php.ini prennent effet
la source
Pour les utilisateurs de Wamp Server, il existe un moyen plus simple: vous pouvez activer ce paramètre en cliquant simplement (à gauche) une fois sur l'icône WampServer, choisissez PHP -> Paramètres PHP -> balise ouverte courte. Attendez une seconde, puis WampServer redémarrera automatiquement votre PHP ainsi que son service web.
originellement de: http://osticket.com/forums/showthread.php?t=3149
la source
la source
si vous utilisez xampp, vous remarquerez que le fichier php.ini a mentionné deux fois short_open_tag. Activez le second sur short_open_tag = On. Le premier est commenté et vous pourriez être tenté de décommenter et de le modifier, mais il est remplacé par un second short_open_tag
la source
Si vous utilisez xampp dans Windows, veuillez procéder comme suit
Rechercher short_open_tag à l'aide de l'utilitaire ctrl + f
Vous trouverez
;short_open_tag
veuillez supprimer le point-virgule (;) de la ligne.
et le garder comme
short_open_tag = on
Enfin, redémarrez votre serveur Apache
la source
Pour activer short_open_tag pour un domaine particulier avec php-fpm, vous devez modifier:
Où xxxxx est le numéro de socket du domaine.
Et ajoutez: php_value [short_open_tag] = On
la source
Cela fonctionne sur php7.2 sur ubuntu 16, même réponse que ci-dessus par Bradley Flood, bien que le répertoire dans lequel le fichier de configuration est stocké ait changé.
Vous pouvez également changer la version dans la chaîne php pour correspondre à votre version actuellement installée.
la source
dans
php.ini
et redémarrez votre serveur Apache.la source
J'ai changé le short_open_tag Off en On sur mon instance aws centos 7 et php7 (PHP 7.0.33 (cli) (construit: 6 décembre 2018 22:30:44) (NTS)), mais cela ne reflète pas la page d'informations php et le code. Je me réfère donc à May Docs et trouve une solution à mon cas. Ajouter une ligne supplémentaire après le short_open_tag comme asp_tags = On après ce redémarrage Apache Cela fonctionne sur le code et je passe la sortie correctement
fichier php.ini
la source
Réglez le
asp_tags = On
etshort_open_tag = On
dans les deux fichiers\apache\Apache2.2.21\bin\php.ini
et\bin\php\php5.3.8\php.ini
puis redémarrez le serveur apache.la source