phpbar.de logo

Mailinglisten-Archive

[php] ALLE VirtualHosts ansprechen

[php] ALLE VirtualHosts ansprechen

Götz Lohmann goetz at mrblackrose.de
Fre Dez 17 16:47:48 CET 2004


Dirk Schwarz schrieb:

>>always the first one ??? How to get the first if I'm the last other
>>with "serv->next" cause there ist NO "serv->prev" :-(
>>
>>regards
>>Goetz
>>
>
>Ich denke Goetz Du bist deutsch, und das ist auch die Listensprache
>in dieser deutschen PHP Liste!
>
>Gruß
>
>Dirk
>+++
>
Sorry, ic bin irgend wie wohl schon zu lange wach und zuviel in irgend
welchen untiefen von Newsgroups unterwegs .. nun denn, also das ganze
noch mal auf deutsch:

Ich arbeite immer noch an meinem Apache und PHP Modul die miteinander
kommunizieren sollen, können, dürfen, möchten .. jedenfalls bin ich
dabei über eine kleine Kuriosität gestolpert.
Nachdem ich im Apache mehrere VirtualHosts habe aber nur von EINEM die
Konfiguration lesen möchte, durchlaufe ich also mittels der nachfolgenden
Zeile im C Quelltext des PHP Moduls die Server:

serv = SG(server_context)->r->server
for( ; serv ; serv->next) {
   serv->hostname
}

Soweit noch klar, das Ergebnis ist jedoch unterschiedlich!

Bei einer Beispiel httpd.conf:
...
<VirtualHost 127.0.0.1>
  ...
</VirtualHost>
<VirtualHost 127.0.0.2>
  ...
  mymod_enable=true
</VirtualHost>
<VirtualHost 127.0.0.3>
  ...
</VirtualHost>

Wenn ich das PHP Skript im VirtualHost 127.0.0.3 anspreche, bekomme ich
wie zu erwarten die Liste:
127.0.0.3
127.0.0.2 = AN
127.0.0.1

Aber wenn ich das PHP Skript vom VirtualHost 127.0.0.1 starte, bekomme
ich nur folgendes:
127.0.0.1

Bin ich irgend wie blöd (oder zu müde)? Sollte mir der Aufruf von

serv = SG(server_context)->r->server

Nicht eigentlich immer den ersten liefern ??? Wie bekomme ich den ersten 
Server wenn ich der letzte bin, nachdem es ja leider kein "serv-prev" gibt
wie beim "request_rec"  :-(
Muß ich mir erst von hinten durch die Brust schießen indem ich im 
globalen server_rec ein Array mit Allen VirtualHosts während des Init 
Prozesses speicher? Muß doch auch einen einfacheren Weg geben .. oder ?

Danke im Voraus, Grüße,
Götz


php::bar PHP Wiki   -   Listenarchive