it-swarm.com.de

Die Verwendung von PHP in HTML-Dateien funktioniert nicht wie erwartet

Apache2, Linux, PHP5

Ich habe diese Zeile zu meiner .htaccess-Datei hinzugefügt

AddType application/x-httpd-php5 .htm .html

wenn Sie apace2ctl -m ausführen, wird dieses Modul geladen

Ein php5_module (geteilt)

Ich habe eine einfache HTML-Seite mit einer Zeile PHP Code in einem <h2> Tag

 <?php echo "It works!"; ?>

Beim Rendern im Browser scheint der Server das PHP wie folgt auskommentiert zu haben

<!--?php echo "It works!"; ?-->

Wenn ich die Datei mit der Erweiterung PHP umbenenne, funktioniert sie einwandfrei.

Warum verarbeitet Apache den PHP Code in meinen HTML-Dateien nicht wie angegeben? Was mache ich falsch?

3
ScottD

<!--?php echo "It works!"; ?-->

Dies sehen Sie, wenn Sie das Element mit den Browsern analysieren Objektinspektor ie. die interpretierte Quelle. Dies ist nicht die vom Server gesendete HTML-Quelle (dh "Quelltext anzeigen").

Grundsätzlich werden Ihre HTML-Seiten nicht von PHP verarbeitet. Sie müssen sich wahrscheinlich bei Ihrem Host erkundigen, welche Anweisung verwendet werden soll. Möglicherweise müssen Sie stattdessen AddHandler verwenden oder den 5 oder etwas anderes ablegen. (Wenn Ihr Host diese Anweisungen in .htaccess zulässt?)

3
MrWhite

Meine Apache-Installation enthält eine php5.conf-Datei, die ich hinzugefügt habe.

<FilesMatch ".+\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>

In meiner .htaccess-Datei habe ich auch geändert

AddType application/x-httpd-php5 .html

zu

AddType application/x-httpd-php .html

Scott

2
ScottD

Es ist normalerweise besser, einfach eine PHP-Datei anstelle einer HTML-Datei zu verwenden, um das zu tun, was Sie versuchen. Wenn Sie jedoch unbedingt benötigen, dass es sich um ein HTML-Dokument handelt, können Sie eine .htaccess-Datei verwenden, die sich im Stammverzeichnis Ihrer Website befindet und Folgendes enthält:

AddType application/x-httpd-php .htm .html

Anstatt

AddType application/x-httpd-php5 .htm .html
1