Ich kann PHP nicht in meinen HTML-Seiten verwenden. Zum Beispiel index.html
. Ich habe versucht, beide zu verwenden:
<? contents ?>
und
<?php contents ?>
Keine dieser Arbeiten. Mein Server bietet PHP an, und wenn ich eine .php
Erweiterung verwende, funktioniert sie ordnungsgemäß. Ist das ein Problem oder muss ich die Einstellungen ändern php.ini
?
Antworten:
Sie können PHP nicht in HTML-Dateien ausführen, da der Server dies nicht als gültige PHP-Erweiterung erkennt, es sei denn, Sie weisen dies an. Dazu müssen Sie eine .htaccess-Datei in Ihrem Root-Webverzeichnis erstellen und diese Zeile hinzufügen:
Dadurch wird Apache angewiesen, Dateien mit der Dateierweiterung .htm oder .html als PHP-Dateien zu verarbeiten.
quelle
.htaccess
wenn dies eine Option ist..html
ist jedoch nicht einmal oder hilfreich, wenn der Server Dateien als PHP verarbeitet , um sie zu befolgen. Sie möchten, dass Benutzer besuchenexample.com/foo
. Sie können diese URL verwenden, um PHP-Inhalte unabhängig von den Dateinamen auf Ihrem Server bereitzustellen. Wenn Benutzer bereitsfoo.html
Lesezeichen gesetzt haben, können Sie weiterhinfoo.php
ohne Umbenennen der Datei dienen.Ich denke, PHP in eine HTML-Datei zu schreiben ist verwirrend und anti-natürlich. Warum würdest du das tun??
Wenn Sie PHP-Dateien ausführen und in der Adressleiste als .html anzeigen möchten, ist es am einfachsten, .php wie gewohnt zu verwenden und eine Regel wie folgt in Ihren .htaccess zu schreiben:
quelle
Um PHP in HTML-Dateien verwenden zu können, müssen Sie sie Ihrem PHP-Prozessor in der Konfigurationsdatei Ihres HTTP-Servers zuordnen. In Apache sieht das so aus:
quelle
AddHandler
und kommentierenAddType
? Vielen Dank.Sie können .htaccess wie bereits erwähnt ändern. Die schnellste Lösung besteht jedoch darin, die Dateierweiterung in .php umzubenennen
quelle
Fügen Sie diese Zeile hinzu
um zu
httpd.conf
archivieren, was Sie tun möchten. Aber denken Sie daran, wenn Sie dies tun, wird Ihr Webserver sehr langsam sein, da er sogar statischen Code analysiert, der keinen PHP-Code enthält. Der bessere Weg ist also, die Dateierweiterung.phtml
statt nur zu machen.html
.quelle
Um auch
.html
Dateien analysieren zu können, müssen Sie den entsprechenden Handler in Ihrer Serverkonfiguration festlegen.Für Apache httpd 2.X ist dies die folgende Zeile
Informationen zu Ihrer spezifischen Serverinstallation finden Sie im PHP-Dokument .
quelle
Standardmäßig können Sie PHP nicht in HTML-Seiten verwenden.
Ändern Sie dazu Ihre .htacccess-Datei wie folgt:
quelle
Wenn Sie nur PHP-Code in einer HTML-Datei haben, aber mehrere andere Dateien, die nur HTML-Code enthalten, können Sie Ihrer .htaccess-Datei Folgendes hinzufügen, damit diese bestimmte Datei nur als PHP dient.
Dadurch wird das PHP NUR in der Datei "yourpage.html" und nicht auf allen HTML-Seiten ausführbar, wodurch eine Verlangsamung auf Ihrem gesamten Server verhindert wird.
Um herauszufinden, warum jemand PHP über eine HTML-Datei bereitstellen möchte, verwende ich die IMPORTHTML-Funktion in Google-Tabellen, um JSON-Daten von einer externen URL zu importieren, die mit PHP analysiert werden muss, um sie zu bereinigen und eine HTML-Tabelle zu erstellen. Bisher habe ich keine Möglichkeit gefunden, eine .php-Datei in Google-Tabellen zu importieren. Daher muss sie als .html-Datei gespeichert werden, damit die Funktion funktioniert. Für diese spezielle Verwendung ist es erforderlich, PHP über eine HTML-Datei bereitstellen zu können.
quelle
Erstellen Sie eine leere Datei mit dem Editor und nennen Sie sie .htaccess. Kopieren Sie diese Datei dann in Ihr Projektverzeichnis, fügen Sie diese Zeile hinzu und speichern Sie sie.
Andernfalls speichern Sie die HTML-Datei mit .php, da PHP HTML unterstützen kann, und speichern Sie sie im Pfad computer / var / www / html (Linux).
quelle
AJAX ist auch eine Möglichkeit. Tatsächlich möchten Sie Daten von der PHP-Seite. Sobald Sie die Daten haben, können Sie sie trotzdem in Javascript formatieren und anzeigen.
quelle
MODERNE REVISION: Sie müssen das Problem jetzt auch beheben, indem Sie die wenig bekannten "security.limit_extensions" in php-fpm ändern. Sie werden wahrscheinlich bereits den gut dokumentierten Mechanismus kennen, mit dem Apache in AddHandler / AddType geändert wird. Darauf werde ich hier nicht eingehen.
SIE MÜSSEN herausfinden, wo sich php-fpm / conf in Ihrem Setup befindet. Ich habe es so gemacht
# grep -rnw '/etc/' -e 'security.limit_extensions'
Ich habe das zurückbekommen
'/etc/php-fpm.d/www.conf:387:;security.limit_extensions = .php .php3 .php4 .php5 .php7'
Gehen Sie zu dieser Datei, bearbeiten Sie sie und stellen Sie sicher, dass Sie erkennen, dass sie auskommentiert ist. ZB: Ändern Sie sie von
';security.limit_extensions = .php .php3 .php4 .php5 .php7'
<- NB: Beachten Sie, dass";"
diese Zeile standardmäßig deaktiviert ist und Sie nicht alle unsinnigen Erweiterungen benötigen wahrscheinlich gefährlich .. ändern Sie es in'security.limit_extensions = .php .htm'
<- beachten Sie, dass das Semikolon jetzt entfernt ist. Starten Sie dann Apache / (oder Nginx) neu und starten Sie php-fpm neu# service php-fpm restart
# service httpd restart
quelle
Zum Kombinieren von HTML und PHP können Sie .phtml-Dateien verwenden.
quelle