Stefan Link: Zugriff auf die richtige Datenbank aus Cron heraus

Hi community,

folgende Situation: ich habe eine Domain und dazu zwei Subdomains:

a.beispiel.de
b.beispiel.de

Beide werden von einem Apache (2.0.5x) per vHost aufgenommen. Hinter beiden Subdomains möchte ich zwei Partien eines Spiels anbieten, das ich entwickelt habe. Die Skripte (PHP 4) sind für beide Partien exakt gleich, also hätte ich gerne einen gemeinsamen Docroot, was an sich ja kein Problem ist. Was die beiden Partien unterscheidet, ist die Datenbank (MySQL) darunter. Dort sind unterschiedliche Spielstände zu erwarten.

Wie bringe ich meinen Skripten nun bei, auf welche Datenbank sie zugreifen sollen? Ich dachte dabei erst an $_SERVER["HTTP_HOST"] oder SERVER_NAME. Das geht, solange die Skripte per HTTP (aus dem Browser) aufgerufen werden. Dann würde ich einfach "a" oder "b" herausschneiden und dann zur Datenbank a oder b verbinden, klappt.

Wo ich nun aber stolpere: es laufen Crons, die regelmässig Skripte ausführen. Hier ist die $_SERVER ja sinnlos, da leer. Ich dachte zuerst an einfache Symlinks, da der Zugriff auf die Datenbank über genau ein Skript erfolgt. Ich könnte also einfach das ganze Dokroot "symlinken" außer eben das Skript für den DB-Zugriff.

Irgendwie hätte ich aber gerne eine Lösung ohne für eine Partie etwas anpassen zu müssen, so dass ich schnell weitere Partien starten kann.
Habt ihr einen  guten Tipp für mich, wie ich dieses Problem lösen kann?

Vielen Dank im Voraus!
Stefan

  1. Hi Stefan,

    also was spricht denn gegen Symlinks und eine Datei zu ändern. Ich denke, das ist die schnellste und einfachste Lösung.

    Die einzig andere Lösung, die mir einfällt, wäre die DB so anzupassen, dass man nur eine braucht und dafür einen zusätzlichen Schlüssel benutzt. Aber das nur als Idee ohne nähere Hintergründe...

    Gruß Can