363 Stimmen

Wie aktiviert man PHP-Kurzbefehle?

Ich habe eine Webanwendung auf einem Linux-Server, die mit <?

Ich musste diese Anwendung in eine Windows-Umgebung kopieren und alles funktioniert gut, außer dass eine SQL-Anweisung anders dargestellt wird. Ich weiß nicht, ob dies mit dem Skript zu tun hat, das mit <?php anstelle von <? weil ich nicht weiß, von wo aus ich die <? von der PHP.ini also habe ich es geändert in <?php

Ich weiß, dass diese 2 Aussagen das Gleiche bedeuten sollen, aber ich muss es testen mit <? um sicherzustellen, dass die Anwendung genau dieselbe ist. Auf diese Weise kann ich eine weitere Möglichkeit ausschließen.

T

620voto

codaddict Punkte 426877

Satz

short_open_tag=On

in php.ini

Und starten Sie Ihren Apache-Server neu.

90voto

RJD22 Punkte 10070

Dies kann erreicht werden, indem man kurz_öffnen_tag en php.ini :

short_open_tag = on

Wenn Sie keinen Zugriff auf die php.ini haben, können Sie versuchen, sie über die .htaccess Datei, aber es ist möglich, dass das Hosting-Unternehmen dies deaktiviert hat, wenn Sie ein Shared Hosting nutzen:

php_value short_open_tag 1

Für die Leute, die denken, dass short_open_tags eine schlechte Praxis sind ab php 5.4 die <?= ... ?> shorttag wird überall unterstützt unabhängig von den Einstellungen, so dass es keinen Grund gibt, sie nicht zu verwenden, wenn Sie die Einstellungen auf dem Server kontrollieren können. Auch in diesem Link gesagt: kurz_öffnen_tag

27voto

user2086641 Punkte 4071

Dies kann durch die Aktivierung von short_open_tag in php.ini erreicht werden:

1. um die Datei php.ini zu finden, führen Sie in der Kommentarzeile

 php --ini

erhalten Sie so etwas wie das hier,

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

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 ist es in off ändern Sie es in on .

3. starten Sie den Server neu und führen Sie diesen Kommentar aus

service httpd restart

T

18voto

Bradley Flood Punkte 9075

So legen Sie kurze Tags fest, die von einem Vagrant-Installationsskript unter Ubuntu geöffnet werden:

sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini

14voto

Eddy Ferreira Punkte 741

Wie ich sehe, sind alle obigen Antworten nur teilweise richtig. In Wirklichkeit verfügen alle PHP-Anwendungen des 21. Jahrhunderts über den 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

Go to php.ini and set short_open_tag = On

WICHTIG: anschließend müssen Sie Ihren php-fpm-Prozess neu starten, damit dies funktioniert!

sudo service php-fpm restart

und starten Sie schließlich Ihren nginx/http-Server neu

sudo service nginx restart

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X