Ich habe eine Webanwendung auf einem Linux-Server, die mit beginnt <?
Ich musste diese Anwendung in eine Windows-Umgebung kopieren und alles funktioniert einwandfrei, außer dass eine SQL-Anweisung anders gerendert wird. Ich weiß nicht , ob dies mit dem Skript mit Beginn zu tun hat <?php
statt , <?
weil ich nicht weiß , von wo aus das ermöglichen , <?
von der PHP.ini
so ich es geändert<?php
Ich weiß, dass diese beiden Aussagen dasselbe bedeuten sollen, aber ich muss sie testen, <?
um sicherzustellen, dass die Anwendung genau gleich ist. Auf diese Weise kann ich eine andere Möglichkeit ausschließen.
Vielen Dank
php
tags
php-shorttags
seedg
quelle
quelle
Antworten:
einstellen
in php.ini
Und starten Sie Ihren Apache-Server neu.
quelle
/etc/php5/apache2/php.ini
php --ini
, um die geladene Konfigurationsdatei zu finden (Geladene Konfigurationsdatei: /etc/php5/cli/php.ini)Dies kann durch Aktivieren von short_open_tag in der php.ini erfolgen :
Wenn Sie keinen Zugriff auf die php.ini haben, können Sie versuchen, sie über die .htaccess- Datei zu aktivieren. Möglicherweise hat das Hosting-Unternehmen dies jedoch deaktiviert, wenn Sie Shared Hosting verwenden:
Für die Leute, die denken, dass short_open_tags ab PHP 5.4 eine
<?= ... ?>
schlechte Praxis sind, wird der Shorttag überall unterstützt , unabhängig von den Einstellungen. Es gibt also keinen Grund, sie nicht zu verwenden, wenn Sie die Einstellungen auf dem Server steuern können. Auch in diesem Link gesagt: short_open_tagquelle
<? echo $var ?>
kurze offene Tag, sondern über das<?= $var ?>
kurze offene Tag. Afaik XML sollte nicht betroffen sein.<?=
ist das Templating, und ich denke, es ist ein ziemlich gültiger. Andere Vorlagensprachen wie Schnurrbart verwenden ebenfalls kurze einfache Tags{{var}}
. PHP wird oft als Vorlagensprache verwendet und muss<?php echo $var ?>
viel hässlicher sein als<?=$var?>
in Inline-HTML.Dies kann durch Aktivieren von short_open_tag in der php.ini erfolgen:
1.Um die Datei php.ini zu finden, führen Sie sie in der Kommentarzeile aus
Sie werden so etwas bekommen,
Siehe 2. Zeile der Kommentarausgabe. Die Datei befindet sich im angegebenen Pfad.
2.Öffnen Sie die Datei php.ini und suchen Sie
short_open_tag
. Standardmäßig wird es inoff
geänderton
.3. Starten Sie den Server neu und führen Sie diesen Kommentar aus
Vielen Dank
quelle
So legen Sie kurze Tags fest, die über ein Vagrant-Installationsskript unter Ubuntu geöffnet werden sollen:
quelle
Ich kann sehen, dass alle obigen Antworten nur teilweise richtig sind. In Wirklichkeit verfügen alle PHP-Apps des 21. Jahrhunderts über FastCGI Process Manager (php-fpm). Sobald Sie also php-info () in Ihr test.php-Skript eingefügt und den richtigen Pfad für php.ini überprüft haben
WICHTIG: Dann müssen Sie Ihren PHP-Fpm-Prozess neu starten, damit dies funktionieren kann!
und starten Sie schließlich Ihren Nginx / http-Server neu
quelle
Sie müssen short_open_tags aktivieren.
quelle
Befolgen Sie so einfach die folgenden Schritte:
php.ini
Datei gehenFinde es
short_open_tag
und setze es aufon
Starten Sie den Server neu
quelle
In CentOS 6 (auch auf Centos 7 getestet) können Sie short / open_tag in /etc/php.ini nicht für php-fpm festlegen. Sie werden Fehler haben:
Sie müssen die Konfiguration für Ihre Site bearbeiten, die Sie unter /etc/php-fpm.d/www.conf finden. Schreiben Sie am Ende der Datei:
quelle
Wenn Sie
Ubuntu
mit verwendenApache+php5
, müssen Sie in aktuellen Versionen an zwei Stellen wechselnshort_open_tag = On
/etc/php5/apache2/php.ini
- Dies gilt für die Seiten, die über Ihren Webserver (Apache) geladen wurden./etc/php5/cli/php.ini
- Diese Konfiguration wird verwendet, wenn Sie Ihre PHP-Dateien über die Befehlszeile startenphp yourscript.php
, z. B .: - Dies gilt für manuell oder Cronjob ausgeführte PHP-Dateien direkt auf dem Server.quelle
Wenn Sie Ihre Datei php.ini bearbeiten, denken Sie daran, Ihren Dienst (apache2 usw.) neu zu starten, damit die Änderungen an php.ini wirksam werden
quelle
Für Wamp Server-Benutzer gibt es einen einfacheren Weg: Sie können diese Einstellung aktivieren, indem Sie einfach (links) einmal auf das WampServer-Symbol klicken und PHP -> PHP-Einstellungen -> kurzes offenes Tag auswählen. Warten Sie eine Sekunde, dann startet WampServer automatisch Ihr PHP und auch seinen Webdienst neu.
ursprünglich von: http://osticket.com/forums/showthread.php?t=3149
quelle
quelle
Wenn Sie xampp verwenden, werden Sie feststellen, dass die Datei php.ini zweimal short_open_tag erwähnt hat. Aktivieren Sie den zweiten für short_open_tag = On. Der erste ist auskommentiert und Sie könnten versucht sein, ihn zu kommentieren und zu bearbeiten, aber er wird von einem zweiten short_open_tag überschrieben
quelle
Wenn Sie xampp in Windows verwenden, gehen Sie bitte wie folgt vor
Suchen Sie short_open_tag mit dem Dienstprogramm Strg + F.
Du wirst finden
;short_open_tag
Bitte entfernen Sie das Semikolon (;) aus der Zeile.
und behalte es als
short_open_tag = on
Starten Sie abschließend Ihren Apache-Server neu
quelle
Um short_open_tag für eine bestimmte Domain mit php-fpm zu aktivieren, müssen Sie Folgendes bearbeiten:
Dabei ist xxxxx die Socket-Nummer der Domain.
Und füge hinzu: php_value [short_open_tag] = On
quelle
Das funktioniert unter PHP7.2 unter Ubuntu 16, dieselbe Antwort wie oben von Bradley Flood, obwohl sich das Verzeichnis, in dem die Konfigurationsdatei gespeichert ist, geändert hat.
Sie können auch die Version in der PHP-Zeichenfolge ändern, um sie an Ihre aktuell installierte Version anzupassen.
quelle
in
php.ini
Starten Sie Ihren Apache Server neu.quelle
Ich habe den short_open_tag auf meiner aws centos 7-Instanz und php7 (PHP 7.0.33 (cli) (erstellt: 6. Dezember 2018 22:30:44) (NTS)) in Aus auf Ein geändert, aber er spiegelt nicht die PHP-Infoseite wider und der Code. Also verweise ich möglicherweise auf Dokumente und finde eine Lösung für meinen Fall. Fügen Sie nach dem short_open_tag eine zusätzliche Zeile als asp_tags = On hinzu nach dem Neustart von Apache. Es funktioniert mit dem Code und ich gehe die Ausgabe korrekt
php.ini Datei
quelle
Stellen Sie das
asp_tags = On
undshort_open_tag = On
in beiden Dateien ein\apache\Apache2.2.21\bin\php.ini
und\bin\php\php5.3.8\php.ini
starten Sie den Apache-Server neu.quelle