Warum werden meine PHP-Dateien als einfacher Text angezeigt? [duplicate]
Lesezeit: 5 Minuten
iamjonesy
Ich schreibe seit einiger Zeit PHP-Anwendungen mit PHP in WAMP. Jetzt installiere ich PHP und Apache HTTP Server separat auf meinem Arbeits-PC. Ich habe PHP 5 und den neusten Apache installiert. Ich gehe zu localhost und sehe, dass es funktioniert!
Jetzt füge ich eine Datei mit dem Namen hinzu test.php was anzeigt:
<?php
phpinfo();
?>
Aber im Browser wird nur einfacher Text angezeigt. Gibt es irgendwo, wo ich es explizit anweisen muss, PHP 5 zu verwenden?
dav
Sie sollten die PHP 5-Bibliothek für Apache installieren.
Für Debian und Ubuntu:
apt-get install libapache2-mod-php5
Und starten Sie den Apache neu:
service apache2 restart
für php7 apt-get installiere libapache2-mod-php7.0
– Saurabh Chandra Patel
4. Oktober 2016 um 18:05 Uhr
libapache2-mod-php installiert libapache2-mod-php7.0. Wir müssen die Version für php7 nicht explizit angeben
– Juniid
30. Juli 2017 um 12:22 Uhr
Es gibt jetzt auch apt-get install libapache2-mod-php7.2 für diejenigen mit 7.2.3
– Cesar Bielich
2. Mai 2018 um 19:23 Uhr
sudo apt-get install libapache2-mod-php* für php7-Arta-Versionen zur automatischen Installation ohne die 5 speziell
– Rakshitha Muranga Rodrigo
3. April 2019 um 20:06 Uhr
für PHP 7.4: apt-get install libapache2-mod-php7.4
– grau
7. März 2021 um 20:20 Uhr
Kris
Sie müssen dies zu Ihrer Serverkonfiguration hinzufügen:
AddType application/x-httpd-php .php
Dies setzt voraus, dass Sie PHP ordnungsgemäß installiert haben, was möglicherweise nicht der Fall ist, da es unmittelbar nach der Installation nicht dort funktioniert, wo es normalerweise funktionieren würde.
Es ist durchaus möglich, dass Sie auch die hinzufügen müssen php .so/.dll-Datei in Ihre Apache-Konfiguration mit einer LoadModule Richtlinie (normalerweise in httpd.conf).
iamjonesy muss möglicherweise auch einen LoadModule-Befehl für php5_module hinzufügen.
– xuinkrbin.
16. Februar 2013 um 5:46 Uhr
Das ist genau das, was ich brauche, um PHP schließlich unter Mac OSX 10.10 Yosemite zum Laufen zu bringen. Vielen Dank 🙂
– Goldener Daumen
14. Juli 2014 um 4:09 Uhr
In einem bestimmten Fall, in dem wir die .htaccess-Datei eines Clients heruntergeladen haben, gab es eine zusätzliche (und falsche) Instantiierungsdirektive „AddHandler application/x-httpd-php5 .php“, die für ihre alte Serverkonfiguration funktioniert, aber nicht für unsere. Nachdem wir diese Zeile in der .htaccess-Datei für diese Seite auskommentiert hatten, funktionierte PHP wieder einwandfrei. 🙂
– Marty McGee
30. Januar 2015 um 21:45 Uhr
Dieser Beitrag besagt, dass AddType text/html und addHandler application/x-httpd-php sein sollte, was vernünftig klingt. (serverfault.com/questions/394250/…) Was ist richtig?
– Benutzer2345998
3. Juli 2019 um 14:19 Uhr
@ user2345998: Mir scheint jetzt, dass AddHandler semantisch “richtiger” wäre. Im Jahr 2010 hat dies für mich und viele andere in jeder Apache-Version funktioniert, die wir alle ausgeführt haben. Die von Ihnen verlinkte Antwort verweist eindeutig auf unendlich viel mehr Dokumentation. Ich halte sie jedoch für besser als meine hier.
– Kris
4. Juli 2019 um 6:05 Uhr
Piskvor verließ das Gebäude
Sie müssen Apache (den Webserver) konfigurieren, um PHP-Skripte als PHP zu verarbeiten. Überprüfen Sie die Konfiguration von Apache. Sie müssen das Modul laden (der Pfad kann auf Ihrem System abweichen):
LoadModule php5_module "c:/php/php5apache.dll"
Und Sie müssen Apache auch mitteilen, was mit PHP verarbeitet werden soll:
Danke für deine Antwort. Die Datei php5apache.dll existiert nicht in meinem PHP-Verzeichnis. Heißt es immer php5apache?
– iamjonesy
24. August 2010 um 11:53 Uhr
Die .dll Datei aufgerufen wird php5apache2_2.dll für Apache 2.2 und php5apache2_4.dll für Apache 2.4
– Benutzer
10. Mai 2014 um 3:45 Uhr
Roman Bekkiev
Ein weiterer Grund (nicht für diesen Fall, aber vielleicht spart es jemandem einige Nerven) ist, dass in PHP 5.5 kurze offene Tags verwendet werden <? phpinfo(); ?> sind standardmäßig deaktiviert.
Der PHP-Interpreter würde also Code innerhalb von kurzen Tags als Klartext verarbeiten. In früheren PHP-Versionen war diese Funktion standardmäßig aktiviert. Das neue Verhalten kann also etwas mysteriös sein.
Sie könnten auch, wie ich, php-cgi vor der Installation von Apache installiert haben, und wenn Sie dies tun, wird Apache nicht richtig eingerichtet, um PHP auszuführen, PHP vollständig zu entfernen und eine Neuinstallation schien mein Problem zu beheben.
Ich stimme auch nicht mit @JaroslavKadlec überein, ich habe nicht in der richtigen Reihenfolge installiert und das Entfernen und Neuinstallieren hat den Trick für mich getan
– Kabb5
22. Juli 2015 um 19:18 Uhr
Mystische Kraft
Sie müssen Handler in Apache hinzufügen, um PHP-Code zu verarbeiten.
Bearbeiten Sie mit dem Befehl sudo vi /etc/httpd/conf/httpd.conf
Ich stimme auch nicht mit @JaroslavKadlec überein, ich habe nicht in der richtigen Reihenfolge installiert und das Entfernen und Neuinstallieren hat den Trick für mich getan
– Kabb5
22. Juli 2015 um 19:18 Uhr
Henrik Sommerland
Benutzt du den Userdir-Mod?
In diesem Fall scheint PHP5 das Ausführen von Skripten von diesem Ort standardmäßig zu deaktivieren, und Sie müssen die folgenden Zeilen auskommentieren:
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
in /etc/apache2/mods-enabled/php5.conf (auf einem Ubuntu-System)
Brandneues Ubuntu 18 installiere Apache2, und nirgendwo sonst habe ich das erwähnt gesehen! Kann ich dir eine Pizza schicken? croth du-weißt-was-nach-einem-namen-geht the dance dot net (keine Leerzeichen).
– Karl Roth
15. Dezember 2018 um 21:03 Uhr
9168300cookie-checkWarum werden meine PHP-Dateien als einfacher Text angezeigt? [duplicate]yes