it-swarm.com.de

Warum läuft PHP nicht?

Ich habe gesehen, wie diese Frage viele Male beantwortet wurde, aber die meisten enden entweder unbeantwortet oder indem sie dem Fragesteller sagen, dies zu setzen:

<?php phpinfo() ?>

in einer Testdatei. Wenn das erwartete Ergebnis hätte, wäre ich natürlich nicht hier. Stattdessen bekomme ich einen 404-Fehler.

Ich verwende einen Ubuntu 12.04 Server mit Amazon. Apache ist installiert, php5 ist installiert und Apache wurde neu gestartet. Ich folgte der folgenden Reihenfolge:

Sudo apt-get install Apache2

Sudo apt-get install php5

Sudo apt-get install libapache2-mod-php5

Sudo /etc/init.d/Apache2 restart

Jeder der ersten drei Befehle gibt mir jetzt "Apache2 ist bereits die neueste Version 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 3 nicht aktualisiert" Offensichtlich ersetzen Sie Apache2 durch php5 und libapache2-mod-php5 für den andere zwei.

Dies ist ein sicherer Weg, um mir zu sagen, dass es installiert ist, richtig? Wenn ich den Befehl "top" verwende, ist php nicht einer der Dienste, die ausgeführt werden.

Wenn ich zur IP-Adresse navigiere, bekomme ich "It Works!" Wenn Sie jedoch zu einer anderen Seite auf dem Server navigieren, wird ein Fehler 404 angezeigt.

Jede Hilfe wird sehr geschätzt.

9
Christian

Checke die Apache-Konfigurationsdateien aus. Für Debian/Ubuntu sind sie in /etc/Apache2/sites-available/ für RedHat/CentOS/etc in /etc/httpd/conf.d/ enthalten. Wenn Sie es gerade installiert haben, heißt die Datei dort wahrscheinlich default.

Stellen Sie sicher, dass die Konfigurationsdatei dort auf den richtigen Ordner verweist, und stellen Sie sicher, dass sich Ihre Skripts dort befinden.

Die Zeile, nach der Sie in diesen Dateien suchen, lautet DocumentRoot /path/to/directory.

Für eine leere Installation müssen Ihre PHP-Dateien höchstwahrscheinlich in /var/www/ sein.

Sie müssen auch Ihre php.ini-Datei finden, die sich wahrscheinlich unter /etc/php5/Apache2/php.ini oder /etc/php.ini befindet, und den Eintrag für display_errors finden und auf On setzen.

11
castis

Ein großes Problem ist, dass PHP standardmäßig in den Benutzerverzeichnissen deaktiviert ist. Wenn Sie also von ~/public_html aus testen, funktioniert es nicht . php5.conf

# Running PHP scripts in user directories is disabled by default
# 
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

Abgesehen davon ist die Installation in Ubuntu sehr einfach, da alles, was Sie früher in httpd.conf eingeben mussten, automatisch erledigt wird.

6
MagicLAMP

Um die ursprüngliche Frage zu beantworten "Warum läuft PHP nicht?" Die Datei, nach der Ihr Browser fragt, muss die Erweiterung .php haben. Wenn die Datei die Erweiterung .html hat, wird PHP nicht ausgeführt.

1
Dan

Geben Sie im Browser localhost ein: 80 // test5.php [wobei 80 Ihr Port und test.php Ihr ​​Dateiname ist] anstelle von c: //xampp/htdocs/test.php.

0
Dipankar Biswas