Ich habe einen Apache-Webserver. Nehmen wir an, die Domäne dieses Servers ist example.com .
Wenn ich auf example.com zugreife, wird die Datei index.php
im Browser korrekt angezeigt.
Wenn ich z. B. auf z. example.com/~user , dann wird die Datei index.php
von /home/user/public_html/index.php
heruntergeladen und nicht angezeigt.
Wie behebe ich dieses Problem? Ich habe "expose_php = Off"
in php.ini
geändert, aber nichts hat sich geändert.
Wenn Sie Debian / Ubuntu verwenden, schauen Sie sich diese Datei /etc/apache2/mods-available/php5.conf
meins sieht so aus und Sie können sehen, dass ich eine Zeile kommentieren musste, damit PHP im Benutzerverzeichnis funktioniert
%Vor% Bitte beachten Sie, dass nach dem Bearbeiten der Datei Apache neu gestartet werden muss, damit die Änderungen wirksam werden. Der Befehl zum Neustart von Apache auf einem Debian-basierten System lautet: /etc/init.d/apache2 restart
Hoffen Sie, dass dies jemand anderem die Kopfschmerzen erspart. Ich weiß, dass diese Frage alt ist, aber es kommt immer noch bei der Suche nach diesem Problem.
Ich bin nicht sicher, ob dies über alle Installationen von Apache2 funktioniert, aber ich habe Apache2 auf Ubuntu ausgeführt und hatte das Problem, dass mein Webbrowser Dateien herunterlädt, anstatt die korrekte Indexdatei anzuzeigen.
Das Problem liegt in der Datei /etc/apache2/mods-enabled/dir.conf Die Standarddokumenteinstellung hier überschreibt, was ich in /etc/apache2/httpd.conf
eingestellt hatteÖffnen Sie einfach /etc/apache2/mods-enabled/dir.conf und ändern Sie die Reihenfolge der aufgelisteten Dateien.
:)
Ich hatte eine ähnliche Erfahrung - einige PHP-Dateien funktionieren OK, aber andere scheinen den rohen PHP-Code heruntergeladen zu haben.
In meinem Fall war dies auf die beschädigten Dateien zurückzuführen, die das Kurztagformat von & lt; und? & gt ;. Dies wird nicht empfohlen, und Sie können feststellen, dass die Standard-php.ini diese Unterstützung erzwungen hat. Wenn support off ist, wird der PHP-Code an den Browser gesendet, als wäre es HTML.
Wenn Sie kurze Tags nicht vermeiden können (wie in meinem Fall - eine ganze Legacy-Codebase mit kurzen Tags), dann können Sie sie in php.ini zulassen:
%Vor%