Ich habe kürzlich versucht, PHP und Apache auf meinem Computer zu installieren. Nach vielen Stunden sind sie installiert. Ich habe die Dateien httpd.conf und php.ini geändert, wie jeder sagt. Ich habe dann ein einfaches PHP-Skript erstellt:
<?php phpinfo(); ?>
Aber wenn ich versuche, es damit auszuführen, http://127.0.0.1/phpinfo.php
wird nur der Quellcode angezeigt, anstatt ihn auszuführen. Ich verwende Apache 2, PHP 5 und Windows Vista.
BEARBEITETE LINIEN:
PHP.INI:
short_open_tag = On
HTTPD.CONF
LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
PHPIniDir "C:/php"
<?php echo "Hello world"; ?>
Zeigt es Hello World an? Wenn der Code angezeigt wird, ist Ihr Server laut @RabNawaz nicht richtig konfiguriert.http://localhost/
oderhttp://127.0.0.1/
Antworten:
Sie müssen PHP aktivieren! Überprüfen Sie den Ordner
mods-enabled
im Apache-Verzeichnis (Standard :)/etc/apache2/
, um festzustellen, ob Sie eine Datei mit dem Namen findenphp
. Ich erinnere mich nicht an die Erweiterung, aber ich denke es ist.so
.Überprüfen Sie auch
/var/log/apache2/error.log
, ob Sie weitere Fehler haben.quelle
a2enmod php7.0
und es löste mein Problem. Es hat den ganzen Tag gedauert, um diesen Beitrag irgendwie zu erreichen!php
inmods-enabled
, was jetzt? Diese Antwort erklärt nichtsWow, viele Lösungen hier! Folgendes habe ich unter Ubuntu 16.04 gemacht :
quelle
--reinstall
zu apt-get. Möglicherweise war die Installation des PHP-Moduls / Apache fehlerhaft.Considering conflict php5 for php7.0
,Considering conflict mpm_worker for mpm_prefork
usw ... und apache2 Neustart fehlschlägtConsidering conflict php5 for php7.2
gehen/etc/apache2/mods-available
und löschenphp5.*
Für PHP 7 (gilt möglicherweise auch für frühere Versionen), aber ich musste dies tun:
Fügen Sie dies am Ende von /etc/apache2/apache2.conf hinzu
Führen Sie dies vom Terminal aus:
Dann vergessen Sie nicht, Apache neu zu starten, damit Sie wissen, dass Sie etwas geändert haben:
Dies ist eine Zusammenfassung von: https://www.atlantic.net/community/howto/try-php7-lamp-ubuntu-14-04/
quelle
öffne die Datei
/etc/apache2/httpd.conf
und ändern
in
Also einfach das Laden des PHP-Moduls aufheben
httpd.conf
quelle
Ich fand dies, um mein verwandtes Problem zu lösen. Ich habe es dem entsprechenden
<Directory>
Abschnitt hinzugefügt :quelle
Eine andere Antwort, die für mich funktioniert hat. Ist das zu installieren
[sudo] apt-get install libapache2-mod-php5.X
quelle
Okay, wenn Sie versucht haben, was Ihnen oben oder früher gesagt wurde (was mögliche Gründe sind) und der Code immer noch angezeigt wird, anstatt ihn auszuführen, dann gibt es eine Sache, die Sie falsch machen und die nicht angesprochen wurde. Die URL, mit der Sie auf Ihren PHP-Code zugegriffen haben. Einige Leute versuchen, ihren PHP-Code auszuführen, indem sie einfach die PHP-Datei in den Webbrowser ziehen. Dies ist eine falsche Praxis und kann zu solchen Problemen führen. Wenn Sie eine Datei als "test.php" im Ordner C: // wamp / www gespeichert haben, müssen Sie auf diese Datei folgendermaßen zugreifen: localhost: //test.php. Diese Art von Fehler tritt auf, wenn Sie auf diese Weise darauf zugreifen: localhost: //wamp/www/test.php
Ich hoffe, ich habe da draußen jemandem geholfen. o / ~ Daniel
quelle
Das Posten, was für mich funktioniert hat, hilft jemandem auf der Straße, obwohl es ein ungewöhnlicher Fall ist.
Ich hatte einen Handler eingerichtet, um meinen Webhost zu zwingen, eine höhere Version von PHP als die Standardversion zu verwenden. Es gab 5.1, aber ich wollte 5.6, also hatte ich folgendes:
in meiner .htaccess-Datei.
Beim Versuch, meine Site lokal auszuführen, wurde PHP-Code an den Browser ausgegeben. Das Entfernen löste das Problem.
quelle
quelle
Sie können Ihre .htaceess- Datei löschen und das System eine neue (leere oder einfache) erstellen lassen. Es kann sein, dass einige von Ihnen hinzugefügte Zeilen falsche Anweisungen sind oder dass etwas anderes darin das Problem verursacht. Sie können dann Zeile für Zeile aus Ihrer alten .htaccess- Datei hinzufügen, um zu sehen, was das Problem verursacht hat.
Das hat bei mir funktioniert. Die Zeilen, in denen die Maschine angewiesen wurde, keine PHP-Erweiterungen anzuzeigen, waren in meinem Fall ein Problem ( RewriteCond und RewriteRule ). Meine alte .htaccess- Datei funktionierte auf einem gemeinsam genutzten Server einwandfrei, aber dieses Problem trat auf, als ich zu VPS wechselte.
quelle
sudo a2enmod headers
und aussudo a2enmod rewrite
(vergessen Sie nicht, Apache neu zu starten).Vielen Dank an andere in diesem Thread für ihre Vorschläge. Nach den genannten Schritten stellte ich fest, dass der Apache-Server keinen Syntaxfehler in einer
load
Datei in melden konnte/etc/apache2/mods-enabled
. Es stellt sich heraus, dass sowohl php7.0 als auch php7.1 aktiviert wurden.und PHP wird wieder korrekt gerendert.
quelle
Wenn das Modul Benutzerverzeichnis aktiviert ist und sich Ihre Site in einem Benutzerverzeichnis (~ / public_html) befindet, müssen Sie /etc/apache2/mods-enabled/php5.conf überprüfen. Der folgende Teil macht es möglich (unter Ubuntu 14.10 utopic):
quelle
Wenn Sie ein Ubuntu-Benutzer sind, muss Apache nach der Installation den folgenden Befehl in der Neuinstallation ausführen
In meinem Fall funktioniert gut.
quelle
Was hat bei mir funktioniert:
Suchen Sie in der aktiven httpd.conf
Es fehlte folgendes
Nach dem Neustart von Apache werden die PHP-Dateien korrekt analysiert.
quelle
Keiner der oben genannten Punkte hat für mich funktioniert oder funktioniert ... PHP7, Apache Httpd 2.2 unter CentOS 6
Tatsache ist, ich habe (alle mit yum) PHP VOR Apache installiert ... Sie müssen das Gegenteil tun: Installieren Sie immer zuerst Apache, dann PHP, und dann funktioniert es ... In der Tat fehlen Sie wahrscheinlich
libphp7.so
undlibphp7-zts.so
in/etc/httpd/modules/
Ich konnte mich trotzdem erholen, ohne PHP zu deinstallieren. Ich habe die magische Linie hinzugefügt in
/etc/httpd/conf/httpd.conf
:AddType application/x-httpd-php .php
Und dann laufen:yum install php php-mysql
quelle
Für PHP7 und Apache2.4 ist dies alles, was Sie tun müssen:
Gehen Sie ganz nach unten und fügen Sie Folgendes ein (ganz von selbst):
Apache wird jetzt alles mit PHP ausführen. Wenn Sie nur HTML- und PHP-Dateien haben, funktioniert dies gut für Sie. Wenn Sie andere Arten von Dateien haben, müssen Sie die Datei an Ihre Situation anpassen. Ich habe dies mit phpMyAdmin getestet und es scheint kein Problem zu haben ... bis jetzt.
Nichts von all den anderen Dingen, über die alle Leute hier sprechen, war für mich notwendig. Als ich das "AddType Application ....." -Ding an der richtigen Stelle platzierte, sagte mir Apache nur, dass dieses Modul bereits geladen war und übersprang es.
Weitere Informationen finden Sie hier: https://httpd.apache.org/docs/2.4/mod/core.html#filesmatch
Meine Installation wurde wie folgt durchgeführt:
Sie sollten dies auch lesen, wenn Sie nicht: https://httpd.apache.org/docs/current/howto/htaccess.html#when
quelle
Dies passierte mir auch beim Ausführen von $ _POST in MAMP. Alle meine INI- und httpD-Dateien wurden korrekt eingerichtet. Wenn Sie die Formularbearbeitung durchführen und ein HTML-Dokument haben und die Informationen an einen PHP-Formularhandler senden, auf dem $ POST ausgeführt wird, stellen Sie sicher, dass Sie die HTML-Datei von localhost über Ihren Server und nicht nur lokal ausführen.
Dies war eine Verknüpfung, die ich zum Ausführen von HTML-Dokumenten gemacht habe, indem ich einfach auf die HTML-Datei in meinem Verzeichnis geklickt und in meinem Webbrowser gestartet habe. Um in Wirklichkeit zu überprüfen, ob PHP in Ihrem Formular verarbeitet wird, müssen Sie Ihr HTML über Ihre Server ausführen. Ein sehr einfaches Protokoll, das ich übersehen habe.
Beispiel:
Falsch:
file:///Applications/MAMP/htdocs/form/form.html
Richtig:
http://localhost:your port number/form/form.html
Jetzt sollte das PHP verarbeitet werden, sobald Sie auf die Schaltfläche "Senden" klicken
quelle
Ich hatte das gleiche Problem, verursacht durch die Debian / Ubuntu-Standardkonfiguration des Moduls
suphp
. Es enthieltsuPHP_Engine off
für ganze / usr / share, was dazu führte, dass die PHP-Quellen im Browser angezeigt wurden. Deaktivieren mita2dismod suphp
war die Zwischenlösung.quelle
Ich hatte das gleiche Problem. Wenn ich eine PHP-Datei starte, zeigte mir der Webbrowser den PHP-Code, anstatt ihn auszuführen. Ich hatte viele Male versucht: Deinstallieren / Neuinstallieren des wampserver64, Umgehen der PHP / Apache-Einstellungen / Module usw. Nach 2 Tagen: Als ich versuchte, die PHP-Datei im Editor ++ auszuführen, wurde mir klar, dass ich die Standardkombination "Strg +" drückte Alt + Shift + R "für Chrom. Es wurde versucht, meine PHP-Datei wie folgt auszuführen: "Datei /// C: / wamp64 / www / bla / bla .." in der Adressleiste meines Chroms. Das war mein problem Ich habe die Änderungen gemäß Seite Konfigurieren von Notepad ++ für die Ausführung von PHP auf localhost vorgenommen. . Mein Problem wurde gelöst. Aber nach 2 Tagen ..
quelle
Führen Sie Xampp (Apache) als Administrator aus. In Google Chrome Typ:
localhost/<insert folder name here>/<insert file name>
Wenn der von Ihnen erstellte Ordner "LearnPhp" ist, lautet die Datei "kapitel1.php" und geben Sie ein
localhost/LearnPhp/chapter1.php
Ich habe diesen Ordner im Ordner xampp im Ordner htdocs erstellt, der beim Herunterladen von xampp erstellt wird.
quelle
Debian 9-Lösung:
Zur Datei hinzufügen Nächste Zeilen:
Dann renne:
quelle
/etc/apache2/mods-available/php7.2.conf
Manchmal, wenn Sie PHP-Versionskonflikte haben, passiert es, um dies zu überwinden, folgen Sie bitte den folgenden Schritten
Schritt 1: Yum-Liste installiert | grep 'php'
Schritt 2: yum entfernen ** Ihre PHP-Version **
Schritt 3: Starten Sie dann die Apapche
/etc/init.d/httpd restart
oder neuservice apache2 restart
quelle
Diese Lösung hat bei mir funktioniert. Ich habe apache2 gelöscht und neu installiert. Es geschah nach dem Löschen und Installieren. Wenn es sich um die erste Installation handelt, tritt dieses Problem nicht auf.
quelle
Ich habe eine Reihe der oben genannten Lösungen ausprobiert, aber die Lösung in unserem Szenario bestand darin, das fpm-Modul zu installieren.
Wir hatten httpd vor PHP installiert, was möglicherweise etwas mit dem Problem zu tun hatte, aber um das Problem zu beheben, haben wir Folgendes installiert:
yum module install php: 7.2
Dadurch wurde das Modul php-fpm-7.2.11-4.module + el8.1.0 + 5443 + bc1aeb77.x86_64.rpm installiert, das wir dann aktiviert haben durch:
systemctl enable --now php-fpm
Ab diesem Zeitpunkt haben wir die Datei /etc/httpd/conf.d/php.conf als Standard beibehalten und httpd neu gestartet
Service httpd Neustart
Dann hat alles geklappt.
Hoffe das hilft, hat viel länger gedauert als es herausfinden musste.
quelle