Hallo und guten Tag,
Ist sowas überhaupt möglich und wie könnte man es dann am elegantesten lösen?
Via CLI kann ich mir das nicht sauber vorstellen, weil schlicht der Webserverkontext fehlt.
Stimmt, so weit war ich auch schon ;-)
Es gibt ab PHP-CLI 5.4.x die Möglichkeit, dafür einen internen Webserver aufzurufen, also das geforderte Verhalten damit "durch die Brust ins Auge" herbeizuführen.
Wenn Du den Webserverkontext brauchst, solltest Du das IMHO auch über diesen laufen lassen, z.B. mittels wget, bzw. innerhalb Deines crontab.php dann per CURL o.ä.
Das war eben auch mein nächster Denkschritt. Einfach ein einheitliches Skript in alle Dokument-Roots legen, das dann durch das gemeinsame Startskript aufgerufen wird. Damit damit kein Schindluder betrieben wird, wird es mit den Rechten 440 und root:www-data belegt und im Skript werden $_SERVER['REMOTE_ADDR'] und $_SERVER['SERVER_ADDR'] gegeneinander abgeglichen. Der Aufruf erfolgt durch "wget <DOMAIN>/skript.php > /dev/null".
Das funktioniert scheinbar sogar so.
Ist mir jedoch noch zu holzhackerisch :-O
Vielleicht gibt es eine bessere Lösung? Stichworte wären dabei:
- Domain-Kontext
- lokale ini-Einstellungen des jeweiligen Virt-Hosts
- unkompliziertes Handling beim Hinzufügen oder Ändern/Entfernen von Virt-Hosts.
Grüße
TS