Stefan Rösler: per SSI ein PHP - Script einbinden

Hallo,

ich versuche gerade in einer SHTML - Datei ein PHP-Script einzubinden!

Ein Perl Script einzubinden ist ja kein Problem:
"<!--#exec cgi="/cgi-bin/plapper.pl" -->"

Das funktioniert aber leider nicht mit PHP!

Hat das schon mal jemand gemacht oder hat einer eine Idee?

Danke im voraus!

  1. Hallo,

    ich versuche gerade in einer SHTML - Datei ein PHP-Script einzubinden!

    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!

    Clemens

    1. 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.

      2. 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

      1. 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

  2. Hi,

    Ein Perl Script einzubinden ist ja kein Problem:
    "<!--#exec cgi="/cgi-bin/plapper.pl" -->"
    Das funktioniert aber leider nicht mit PHP!

    was hältst Du von "include virtual" statt dem nicht mehr empfohlenen "exec cgi"?

    Viele Grüße
          Michael