Henryk Plötz: PHP SITE ID zu SHTML

Beitrag lesen

Moin

Oh, oh, du hast ein Problem am Hals. Stell dir das mal so vor:
Der PHP-Interpreter schaut sich dein Site-Script an, und sucht
erst mal nach include()- bzw. require()-Funktionen. Wenn er
welche findet, schreibt er an dieser Stelle den Inhalt der ent-
sprechenden Seite. Anschließend wird nochmal geparsed und die
PHP-Tags in der/den eingefügten Datei(en) werden ausgeführt.

Jein, bei require funktioniert das so ähnlich, bei include würde ich sagen nicht. include() wird zum Beispiel auch mehrmals ausgeführt, wenn es sich in einer Schleife befindet, d.h. es wird erst ausgeführt wenn der PHP-Code schon interpretiert wird.

[SSI durch PHP ersetzen]

Die beiden einfacheren Lösungen wären:
a) Du benutzt fopen wrapper. Dazu musst du einfach den kompletten URL für die zu includende Datei angeben (mit http:// am Anfang!). Dann baut er eine HTTP-Verbindung zu dem angegebenen Server auf, lässt den tun was auch immer er will mit der Datei (zum Beispiel SSI parsen) und bindet die Rückgarbe ein. Nachteil: Funktioniert nicht unter Windows. Da müsstest du dir selbst was basteln. Unter http://www.php.net/manual/en/function.fsockopen.php sind einige Beispiele bei den User-notes.

b) Du benutzt virtual() ([linkhttp://www.php.net/manual/en/function.virtual.php]):. Macht in etwa dasselbe, spart sich aber die HTTP-Verbindung und lässt den Apache alles regeln. Nachteil: Geht nur mit Apache.

--
Henryk Plötz
Grüße aus Berlin