Clemens: per SSI ein PHP - Script einbinden

Beitrag lesen

Dann ist das kein PHP-Datei in der das PHP-Skript steht!!

Ändere die *.shtml-Datei in eine *.php-Datei und füge hier mit

include("einzufuegende_datei.php");
das PHP-Skript ein!

Wenn du es so machst, werden allerdings SSI Kommandos in Deinem Script nicht mehr ausgeführt (sofern da noch welche sind).

Ich schlage dir 2 andere Möglichkeiten vor, die allerdings nur funktionieren, wenn du deine Server-Konfiguration verändern kannst:

  1. Konfiguriere Deinen Webserver so, daß er auch .shtml Dateien durch den PHP Interpreter jagt. Bei Apache sieht das in httpd.conf etwa so aus:

<IfDefine PHP>
    AddType application/x-httpd-shtml .shtml
    </IfDefine>

Danach sollten sowohl <?php include "xy.php";?> als auch SSI-includes interpretiert werden.

Die Schiene shtml-Dateien auch als PHP zu parsen, würde ich nur fahren, wenn Du z.B. viele Seiten hättest, die Du umbenennen müsstest. Man kann alles was mit shtml möglich ist auch mit PHP realisieren, zumindest fällt mir aktuell kein Gegenbeispiel ein.

Solltest Du dennoch *.shtml-Dateien als PHP interpretieren lassen wollen, kannst du das nicht nur mit der httpd.conf realisieren (man kommt da bei "normalem" komerziellen Webspace auch schlecht ran ;-), sondern auch mit einer .htaccess im root-Verzeichnis.

  1. PHP als CGI zu compilieren und nicht nur als httpd-Modul einzusetzen. Denn das machst du oder dein Provider/Sysadmin o.ä offensichtlich (siehe PHP Installationshinweise).

@Volker: Was soll das bringen? Imo ist es immer deutlich besser PHP als Apache-Modul zu nutzen und nicht als CGI!

Clemens