Apache: Inline-PHP funktioniert nicht auf Linux
Ich habe Probleme damit, meine PHP-arbeiten für meinen Apache-server. Ich arbeite mit Oracle Linux und verwendet yum install php
+ yum install httpd
um meine PHP und Apache. Ich habe das internet durchforstet und erledigt ein paar Dinge:
Erstens, ich habe in meine httpd.conf-Datei und fügte hinzu LoadModule php5_module modules/libphp5.so
. Ich habe gewählt, um zu verwenden die in meinem php.conf-Datei, die die genaue gleiche. Des weiteren habe ich getan AddType application/x-http-php .php
, so nun meine .php-Dateien sind be-Ordnung.
Zweitens, ich habe versucht meinen Apache-server, und es funktioniert gut. Es zeigt meine index.html die Datei, die ich mit DirectoryIndex. Jedoch, als ich versuchte, um php-code in es, es wurde automatisch auskommentiert, was ich davon ausgehen ist, weil ich noch nicht einstellen, dass es korrekt ausführen der server-Seite.
Jetzt, mit all das gesagt ist, Frage ich mich, was ich möglicherweise fehlen. Ich habe zwei set-ups, eine, wo ich habe .php-Datei, und eine, wo die php-inline ist mit dem html.
index.html
<!DOCTYPE html>
<body>
<?php echo "Hello everybody."; ?>
</body>
</html>
index.php
<?php phpinfo(); ?>
Den index.php Datei lädt fein, aber die index.html nicht den php-code. Wie bekomme ich die inline-version von php arbeiten?
Hinweis: ich habe auf mein Mac OS zu arbeiten sehr gut mit .php-Dateien, aber es wird auch Probleme mit inline-php in einer Html-Datei. Was bin ich?
LÖSUNG: Html-Dateien selbst können nicht include php. Stattdessen muss die Datei ein .php-Erweiterung, und innerhalb einer .php-Datei, können Sie text, html, und JavaScript.
- Haben Sie überprüfen Sie die Fehlerprotokolle? und der Apache sollte nicht auskommentiert PHP-code, auch wenn das Modul nicht ordnungsgemäß funktioniert, sollte es einfach ignorieren, und display, wie es ist
- Das Tat ich, und es sagt nichts in Bezug auf php. Nur etwas über favicon.ico.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Glaube ich nicht .html-Dateien laufen über php an also alle die <? ... ?> wird behandelt wie ein normaler tag, die unsichtbar ist.
Ändern Sie die Erweiterung zu .php.
Php kann html enthalten.
Bearbeiten:
Es gibt eine option, um zu konfigurieren, zum Beispiel Apache Parsen von html-Dateien, als ob Sie php wenn Sie aus irgendeinem Grund nicht können oder nicht wollen, um den Einsatz von php Endungen.
Dieser, meiner Meinung nach, keine gute Lösung ist, da es blendet die Tatsache, dass die Seite dynamisch ist, um einen zukünftigen Betreuer.
Gibt es eine ähnliche Frage, die hat ein ähnliches problem:
PHP-code wird nicht ausgeführt, statt-code zeigt auf der Seite
Möchten Sie vielleicht check out Punkte 2 bis 5 in der akzeptierten Antwort:
Sie hat nicht konfigurieren). Fügen Sie die folgende Zeile in Ihrer httpd.conf-Datei:
AddType application/x-httpd-php .php
.php
Erweiterung (nach der Konfiguration, dass der Apache Webserver PHP-Dateien, siehe den vorherigen Punkt)<?php
statt nur<?
)<?
). Verwenden Sie Sie? Sind Sie erlaubt? (short_open_tag
PHP-ini-Einstellung)Müssen Sie
short_open_tag = On
in Ihremphp.ini
Datei