Ich habe versucht, PHP zu installieren, indem ich die .gz-Datei von einem anderen Computer heruntergeladen, sie auf den Linux-PC übertragen und die Prozesse tar, ./configure, make und make install ausgeführt habe.
Aber irgendwo habe ich einen Fehler gemacht.
Das Problem:
Beim Laden von PHP-Seiten werden die PHP-Codes angezeigt, nicht die eigentliche Website. Ich habe vieles versucht, um das zum Laufen zu bringen, und sogar eine Frage dazu gestellt, aber bisher ohne Erfolg. Seltsam, dass es auf der Befehlszeile funktioniert, der Browser es aber nicht anzeigt.
Das einzige Mal, dass ich PHP zum Laufen gebracht habe, war, als ich yum verwendet habe. Also möchte ich das noch einmal versuchen.
Ich bin mir jedoch nicht sicher, welche Konsequenzen es hat, wenn ich „yum install php“ ausführe und PHP bereits auf meinem System installiert ist.
Was ich versucht habe:
Die Liste meiner Versuche, das Problem „PHP-Codes anzeigen“ zu beheben, ist lang, aber um es zusammenzufassen:
- PHP neu installiert (mit make, genau dieselbe Installation, die ich jetzt loswerden möchte)
- Konfigurieren Sie httpd.conf – mit unterschiedlichen Ergebnissen. Das Ändern der Datei httpd.conf führt aus irgendeinem Grund dazu, dass Apache völlig kaputt geht.
Zu meinen Problemen beim Entfernen des vorhandenen PHP:
- Ich habe versucht, in das Verzeichnis zu gehen, in dem ich das PHP-Material extrahiert habe, und einzugeben
make uninstall
, aber das hat nurNo rule to make target 'uninstall'. Stop.
Das System:
- Fedora 19 x86_64
- Oracle 11g
- Apache 2.4.6
Ich hoffe, dass mir jemand helfen kann, und danke schon einmal im Voraus an alle, die helfen können. Dieses Problem besteht schon viel zu lange.
Antwort1
das klingt meiner Meinung nach nach einem Problem mit Apache. Laden Sie PHP in Ihre httpd.com-Datei? Ich schlage vor, dass die folgenden Konfigurationen vorhanden sind.
LoadModule php5_module modules/libphp5.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
Stellen Sie dann sicher, dass Sie Apache neu starten. Ich hoffe, das hilft.
Antwort2
Die Tatsache, dass Ihr PHP-Interpreter auf der Befehlszeile funktioniert, zeigt, dass er funktioniert. Wenn der Browser versucht, Dateien herunterzuladen, anstatt die Website anzuzeigen, liegt das daran, dass Apache falsch konfiguriert ist und die Inhaltsverhandlung dem Browser nicht mitteilt, welche Art von Inhalt gesendet werden soll. Aus dem Stegreif müssen Sie einen Handler in httpd.conf einrichten, damit Apache weiß, dass es PHP-Code interpretieren kann. Wenn Sie jedoch Probleme mit der Einrichtung haben, würde ich Ihnen auf jeden Fall empfehlen, PHP mit Ihrem Paketmanager zu installieren.
Stellen Sie sicher, dass Sie Ihre erste Installation mit
Deinstallation durchführen (sofern Ihre Make-Datei dieses Ziel hat) oder indem Sie den Präfixordner entfernen, falls möglich.