Ich habe vor kurzem versucht, PHP und Apache auf meinem Computer zu installieren. Nach vielen Stunden sind sie installiert. Ich habe die httpd.conf- und php.ini -Dateien geändert, wie jeder sagt. Ich habe dann ein einfaches PHP-Skript erstellt:
<?php phpinfo(); ?>
Wenn ich jedoch versuche, es mit http://127.0.0.1/phpinfo.php
auszuführen, wird nur der Quellcode angezeigt, anstatt ihn auszuführen. Ich verwende Apache2, PHP5 und Windows Vista. Ich habe im ganzen Internet ohne Erfolg gesucht und stoße fast mit dem Kopf gegen die Wand. Kann mich jemand vor einer Gehirnerschütterung retten?
EDITED LINES:
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"
Du musst PHP aktivieren! Überprüfen Sie den Ordner mods-enabled
im Apache-Verzeichnis (Standard:/etc/Apache2 /), um zu sehen, ob Sie eine Datei mit dem Namen php
finden. Ich erinnere mich nicht an die Erweiterung, aber ich denke es ist .so
.
Überprüfen Sie auch var/log/Apache2/error.log
, um zu sehen, ob Sie Fehler haben.
Wow, viele Lösungen hier! Folgendes habe ich auf Ubuntu 16.04 gemacht:
Sudo apt-get install php libapache2-mod-php
Sudo a2enmod mpm_prefork && Sudo a2enmod php7.0
Sudo service Apache2 restart
Für PHP 7 (kann auch für frühere Versionen gelten), aber ich musste Folgendes tun:
Fügen Sie dies am Ende von /etc/Apache2/Apache2.conf hinzu
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Führen Sie dies vom Terminal aus:
Sudo a2dismod mpm_event && Sudo a2enmod mpm_prefork && Sudo a2enmod php7
Vergessen Sie nicht, Apache neu zu starten, damit Sie wissen, dass Sie etwas geändert haben:
Sudo service Apache2 restart
Dies ist eine Zusammenfassung von: https://www.atlantic.net/community/howto/try-php7-lamp-ubuntu-14-04/
öffne die Datei
/etc/Apache2/httpd.conf
und ändern
#LoadModule php5_module libexec/Apache2/libphp5.so
in
LoadModule php5_module libexec/Apache2/libphp5.so
Also das Kommando PHP einfach in httpd.conf
laden
Ich habe dies gefunden, um mein verwandtes Problem zu lösen. Ich habe es dem entsprechenden <Directory>
-Abschnitt hinzugefügt:
<IfModule mod_php5.c>
php_admin_flag engine on
</IfModule>
Eine andere Antwort, die für mich funktioniert hat. Ist das, [Sudo] apt-get install libapache2-mod-php5.X
zu installieren
Okay, wenn Sie das, was Sie oben oder früher gesagt haben, versucht haben (was mögliche Gründe sind) und der Code immer noch angezeigt wird, anstatt ihn auszuführen, gibt es eine Sache, die Sie falsch machen, die nicht angesprochen wurde. Die URL, die Sie für den Zugriff auf Ihren PHP-Code verwendet haben; Einige Leute versuchen, ihren PHP-Code auszuführen, indem sie die .php-Datei einfach in den Webbrowser ziehen. Dies ist eine falsche Praxis und kann zu diesem Problem 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 folgende Weise darauf zugreifen: localhost: //wamp/www/test.php
Ich hoffe, ich habe jemandem da draußen geholfen. o / ~ Daniel
Wenn ich poste, was für mich funktioniert hat, hilft jemandem die Straße hinunter, auch wenn dies ein ungewöhnlicher Fall ist.
Ich hatte einen Handler eingerichtet, um meinen Webhost zu zwingen, eine höhere Version von PHP als seine Standardversion zu verwenden. Es war 5,1, aber ich wollte 5,6, also hatte ich folgendes:
<FilesMatch \.php$>
SetHandler php56-cgi
</FilesMatch>
in meiner .htaccess-Datei.
Beim Versuch, meine Site lokal auszuführen, hat der PHP-Code dazu geführt, dass er an den Browser ausgegeben wurde. Durch das Entfernen wurde das Problem behoben.
Sie könnten Ihre .htaceess -Datei löschen und das System eine neue (leere oder grundlegende) Datei erstellen lassen. Es kann sein, dass einige Zeilen, die Sie hinzugefügt haben, falsche Anweisungen sind, oder dass etwas anderes 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 mit dem Hinweis, PHP-Erweiterungen nicht anzuzeigen, waren in meinem Fall ein Problem ( RewriteCond und RewriteRule ). Meine alte .htaccess -Datei funktionierte auf einem gemeinsam genutzten Server einwandfrei. Dieses Problem trat jedoch auf, als ich zu VPS wechselte.
keines der oben genannten Punkte hat für mich funktioniert oder funktioniert ... PHP7, Apache Httpd 2.2 auf CentOS 6
tatsache ist, ich habe PHP (alle mit yum) vor Apache installiert ... Sie müssen das Gegenteil tun: Installieren Sie immer zuerst Apache, dann PHP und dann funktioniert es ....__ In der Tat fehlen Ihnen libphp7.so
und libphp7-zts.so
/etc/httpd/modules/
Ich konnte mich sowieso ohne PHP deinstallieren. Ich habe die magische Linie in /etc/httpd/conf/httpd.conf
: AddType application/x-httpd-php .php
Hinzugefügt und dann ausgeführt: yum install php php-mysql
Was für mich funktioniert hat:
Suchen Sie in der aktiven httpd.conf
<IfModule mime_module>
...
</IfModule>
Es fehlte folgendes
AddType application/x-httpd-php .php
AddHandler application/x-httpd-php .php
Nach dem Neustart von Apache werden .php-Dateien korrekt analysiert.
wenn das Modul userdir aktiviert ist und sich Ihre Site in einem Userdir (~/public_html) befindet, müssen Sie /etc/Apache2/mods-enabled/php5.conf..__ überprüfen. Der folgende Teil macht es (auf Ubuntu 14.10 utopic):
# 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>
Vielen Dank an alle anderen in diesem Thread für ihre Vorschläge. Ich habe festgestellt, dass der Apache-Server nicht in der Lage war, einen Syntaxfehler in einer load
-Datei in /etc/Apache2/mods-enabled
zu melden. Es stellte sich heraus, dass sowohl php7.0 als auch php7.1 aktiviert waren.
a2dismod php7.0
systemctl restart Apache2
und PHP wird wieder korrekt gerendert.
Wenn Sie ein Ubuntu-Benutzer sind, muss Apache nach der Installation den folgenden Befehl in der Neuinstallation ausführen
Sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
In meinem Fall funktioniert das gut.
Ich hatte das gleiche Problem. Wenn ich eine PHP-Datei starte, zeigte mir der Webbrowser den PHP-Code, anstatt ihn auszuführen. Ich hatte es viele Male versucht: den Wampserver64 deinstallieren/neu installieren, die PHP/Apache-Einstellungen Module usw. umgehen. Nach 2 Tagen: Ich bemerkte das, als ich versuchte, die PHP-Datei im Notepad ++ auszuführen, indem ich die Standardkombination "Strg +" drückte Alt + Shift + R "für Chrom. Es wurde versucht, meine PHP-Datei wie: "Datei /// C:/wamp64/www/bla/bla .." in der Adressleiste meines Chrome auszuführen. Das war mein Problem. Ich habe die Änderungen entsprechend der Seite/vorgenommen - Konfiguration von Notepad ++ zum Ausführen von PHP auf localhost? . Mein Problem wurde gelöst. Aber nach 2 Tagen ..
Debian 9-Lösung:
touch /etc/Apache2/conf-available/php.conf
In die nächsten Zeilen einfügen:
<IfModule mod_php5.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
</IfModule>
<IfModule mod_php.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
</IfModule>
Dann renne:
a2enconf php && service Apache2 restart
Ich hatte das gleiche Problem, verursacht durch die Debian/Ubuntu-Standardkonfiguration des Moduls suphp
. Es enthielt suPHP_Engine off
für ganze/usr/share, was dazu führte, dass die PHP-Quellen im Browser angezeigt wurden. Die Deaktivierung mit a2dismod suphp
war die Übergangslösung.
Wenn Sie PHP-Versionskonflikte haben, geschieht dies manchmal Um dies zu vermeiden, befolgen Sie bitte die folgenden Schritte
Schritt 1: Liste Yum installiert | grep 'php'
wenn Sie mehrere Versionen von PHP wie PHP 5.6 und PHP 7.0 haben, wird dieses Problem auftreten
Schritt 2: Entfernen Sie ** Ihre PHP-Version **
Schritt 3: Starten Sie anschließend den apapche /etc/init.d/httpd restart
oder service Apache2 restart
neu.
Dies geschah mir auch, wenn $ _POST in MAMP ausgeführt wurde. Alle meine .ini- und httpd-Dateien wurden ordnungsgemäß eingerichtet. Wenn Sie eine Formularverarbeitung ausführen und ein HTML-Dokument haben und die Informationen in einem PHP-Formularhandler mit $ POST veröffentlichen, 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 ausgeführt habe. Klicken Sie einfach auf die HTML-Datei in meinem Verzeichnis und starten Sie sie in meinem Webbrowser. Wenn Sie tatsächlich prüfen, ob PHP in Ihrem Formular verarbeitet wird, müssen Sie Ihre HTML-Datei über Ihre Server ausführen. Ein sehr einfaches Protokoll, das ich übersehen habe.
Beispiel:
Falsch: file:///Applications/MAMP/htdocs/form/form.html
Rechts: http://localhost:your port number/form/form.html
Jetzt sollte die PHP-Datei verarbeitet werden, sobald Sie auf die Schaltfläche "Senden" klicken
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 "chapter1.php" und geben Sie dann ein
localhost/LearnPhp/chapter1.php
Ich habe diesen Ordner im Ordner xampp im Ordner htdocs erstellt, der beim Herunterladen von xampp erstellt wird.