Manuela: Riesiges Problem mit PHP und XAMPP

Hallo!
Kann mir vielleicht irgendjemand bei meinem Problem helfen? Hier die Beschreibung:

Ich habe mir XAMPP installiert. Dann habe ich eine einfache PHP-Datei geschrieben. Das funktioniert auch wunderbar. Jetzt habe ich folgendes probiert:
__________________________________________
<html>
<head>
 <title>Test</title>
</head>

<body>

<?php
 echo "Hallo!";
?>
</body>
</html>
__________________________________________

Diese Datei hat den Namen index.html und liegt im Ordner htdocs von XAMPP. Ich rufe die Datei so auf: http://127.0.0.1/index.html
Es läuft also über den Server. Aber es wird nichts angezeigt.
Wenn ich in den Quelltext sehe, dann sehe ich folgendes:
__________________________________________
<html>
<head>
 <title>Test</title>
</head>

<body>

<?php
 echo "Hallo!";
?>
</body>
</html>
__________________________________________

Aber der Teil zwischen den php-Tags darf doch gar nicht beim Client ankommen?!

Was muss ich machen? Was ist falsch?
Vielen Dank für eure Hilfe! Manu

  1. Hallo Manuela,

    <html>
    <head>
    <title>Test</title>
    </head>

    <body>

    <?php
    echo "Hallo!";
    ?>
    </body>
    </html>

    Diese Datei hat den Namen index.html

    Offensichtlich ist apache so konfiguriert, dass er Dateien mit der Endung .html nicht an den PHP-Interpreter weiterreicht, sondern direkt ausliefert. Das ist völlig normal. Wozu sollten auch normale HTML-Dateien noch weiter verarbeitet werden?

    und liegt im Ordner htdocs von XAMPP. Ich rufe die Datei so auf: http://127.0.0.1/index.html
    Es läuft also über den Server. Aber es wird nichts angezeigt.

    Das HTML-Dokument enthält ja auch keinen Inhalt, nur einen dem Browser unbekannten Tag, den Deine Browser ganz ordentlich ignorieren, wie das im Standard auch vorgesehen ist.

    Wenn ich in den Quelltext sehe, dann sehe ich folgendes:

    <html>
    <head>
    <title>Test</title>
    </head>

    <body>

    <?php
    echo "Hallo!";
    ?>
    </body>
    </html>

    Erwartungsgemäß.

    Aber der Teil zwischen den php-Tags darf doch gar nicht beim Client ankommen?!

    Was muss ich machen? Was ist falsch?

    Speichere Deine Datei unter dem Namen index.php ab - und rufe auch http://127.0.0.1/index.php auf.

    Falls Du das nicht möchtest, sondern möchtest, dass auch alle Dateien mit der Endung .html durch den PHP-Interpreter gejagt werden, so teile dies Deinem Webserver auch mit. Dazu musst Du die Konfiguration ändern. Das sollte vermutlich beim apache 2.2.x, den ich in Deinem XAMPP-Paket vermute, immer noch ähnlich gehen, wie es Christoph Schnauss in seinem Artikel beschreibt.

    Freundliche Grüße

    Vinzenz

  2. Wenn ich in den Quelltext sehe, dann sehe ich folgendes:
    __________________________________________
    <html>
    <head>
    <title>Test</title>
    </head>

    <body>

    <?php
    echo "Hallo!";
    ?>
    </body>
    </html>
    __________________________________________

    Du musst dem Webserver mitteilen, dass er wenn "index.html" angefordert ist diese nicht direkt anzeigt sondern von PHP bearbeiten lässt. Allerdings empfehle ich eine andere Dateiendung, bspw. "PHP". Konfiguriert wird das über die Dateiendung.

  3. Hallo Manu,

    <?php
    echo "Hallo!";
    ?>
    Diese Datei hat den Namen index.html

    und warum meinst du, in *.html-Dateien sollte PHP-Code ausgeführt werden? Das kann man zwar auch einrichten, ist aber ungewöhnlich und nicht immer empfehlenswert.
    In deinem Fall sollte es genügen, die Datei in index.php umzubenennen. Das ist eigentlich der übliche Weg.

    Aber der Teil zwischen den php-Tags darf doch gar nicht beim Client ankommen?!

    Wenn's eine gewöhnliche *.html-Datei ist, wird sie vom Server einfach durchgereicht, ohne dass der PHP-Interpreter etwas davon mitkriegt. Also wird der PHP-Code darin auch nicht ausgeführt, sondern nur 1:1 zum Client übertragen.

    Schönen Tag noch,
     Martin

    --
    Fettflecke werden wieder wie neu, wenn man sie regelmäßig mit etwas Butter einschmiert.
    1. Hallo!
      Vielen Dank für eure super schnelle Hilfe! Ich bin euch sooo dankbar :-)
      Vielen Dank! Manu

  4. Hallo!

    Am Anfang hatte ich dieselben Probleme mit XAMPP.

    Ich habe mir XAMPP installiert. Dann habe ich eine einfache PHP-Datei geschrieben.

    Obwohl XAMPP die meisten Einstellungen von alleine durchführt, muss glaube ich noch der Apache konfiguriert werden. Eine Hilfe dazu findest du hier.

    Hast du den Apache auch schon angeschaltet? Dies geht über das XAMPP Control Panel.

    Diese Datei hat den Namen index.html und liegt im Ordner htdocs von XAMPP. Ich rufe die Datei so auf: http://127.0.0.1/index.html
    Es läuft also über den Server. Aber es wird nichts angezeigt. [...]
    Was muss ich machen? Was ist falsch?

    Hätte ich das Posting gründlicher gelesen, hätte ich mir den Anfang sparen können. Der bei XAMPP mitgelieferte Apache parst nicht von Anfang an *.htm bzw. *.html Dateien. Dieses Problem löst du am besten, wenn du deine Dateien mit der Endung .php versiehst, oder du erstellst eine .htacces Datei mit folgender Zeile:

    AddType application/x-httpd-php php php4 php3 html htm

    Vielen Dank für eure Hilfe! Manu

    Bitte! FeuerFuchs

    --
    Mein Selfcode: ie:{ fl:( br:> va:) ls:& fo:| rl:( n4:& ss:| de:> js:| ch:{ mo:} zu:}