Browser lädt die PHP-Datei vom Apache-Webserver herunter

8

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.

    
Eugenie Lee 08.04.2011, 07:07
quelle

3 Antworten

12

Wenn Sie Debian / Ubuntu verwenden, schauen Sie sich diese Datei /etc/apache2/mods-available/php5.conf

an

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

    
RageZ 08.04.2011 07:15
quelle
5

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.

:)

    
pmilb21 10.10.2011 16:16
quelle
0

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%     
tardate 28.12.2012 03:49
quelle

Tags und Links