Seite 1 von 1

[config.php] Mehrere Boards mit einer Installation/Datenbank

Verfasst: 16.07.2006 15:45
von onestream
Hallo!

Ich möchte auf meinem Webspace gerne ein zweites Board anlegen. Allerdings würde ich es dabei gerne bei einer Datenbank und der jetzigen Installation belassen, um nicht so viel Arbeit bei Updates zu haben.

Die Anpassung der Datenbank kann man ja recht einfach über die Variable $table_prefix erledigen, in dem man für jedes Board eine andere Zuweisung angibt:

1. Board: $table_prefix=board1_;
2. Board: $table_prefix=board2_;

Aber wie kann ich in der Konfiguraion angeben, welche Variablenzuweisung benutzt werden soll? Welche Unterscheidung ist da am besten?

Ich könnte mir vorstellen irgendwie die Aufrufadresse zum Board auszuwerten:
1. Board: www.board1.de.vu
2. Board: www.board2.de.vu

Oder evtl. eine Variable beim Aufruf mitzugeben:

1. Board: www.boardurl.de?board=1
2. Board: www.boardurl.de?board=2

Gibt es da einen einfachen Ansatz, bei dem es vielleicht reicht, alle Anpassungen in die config.php zu schreiben?

Verfasst: 16.07.2006 15:49
von Nico Haase
wenn du ein zweites, komplett seperates board willst, kommst du um eine zweite installation nicht herum, denke ich. benutzt du dieselbe datenbank, musst du schon da irgendeine unterscheidung vornehmen, welcher inhalt nun zu welchem board gehört, und das in jeder tabelle - ein irrsinniger programmieraufwand. dann müssen alle urls so verändert werden, dass sie die board-identifizierung mitnehmen, ebenso alle formulare.

kurz zusammengefasst: dafür ist das phpbb aktuell nciht ausgelegt. nimm zwei seperate installationen, setze in der neuen einen anderen datenbankpräfix und fertig.

Verfasst: 16.07.2006 16:09
von onestream
Hallo Nico Haase!
wenn du ein zweites, komplett seperates board willst, kommst du um eine zweite installation nicht herum, denke ich.
Hmm, das ist ja blöd. Wie machen denn die ganzen Free-Boarder das? Die können doch nicht für jeden User eine eigene Installation haben.
benutzt du dieselbe datenbank, musst du schon da irgendeine unterscheidung vornehmen, welcher inhalt nun zu welchem board gehört, und das in jeder tabelle
Da hatte ich gehofft, dass ich dies einfach einmal mit der Zuweisung des Prefix erschlagen kann. So habe ich zwar eine Datenbank aber jedes Board arbeitet prinzipiell mit seinen eigenen Tabellen. Alle anderen Tabellen in der DB kennt es überhaupt nicht.

dann müssen alle urls so verändert werden, dass sie die board-identifizierung mitnehmen, ebenso alle formulare.
So etwas in der Art hatte ich schon befürchtet. Ich habe meine config.php einfach mal mit $HTTP_GET_VARS erweitert, um Übergabeparameter auszuwerten und den Prefix für die Tabellen umzuschalten. Beim ersten Aufruf hat das auch alles prima funktioniert. Aber bei jedem weiteren Klick innerhalb des Boards war die Variable dann wieder falsch besetzt.
kurz zusammengefasst: dafür ist das phpbb aktuell nciht ausgelegt. nimm zwei seperate installationen, setze in der neuen einen anderen datenbankpräfix und fertig.
Schade, wenns wirklich nicht anders machbar ist, muss ich das wohl tun. Finde es nur blöd, für drei Boards insgesamt 3x das geleiche auf den Server zu packen und der einzige Unterschied ist die $table_prefix.

Verfasst: 16.07.2006 16:15
von Nico Haase
onestream hat geschrieben:Hallo Nico Haase!
wenn du ein zweites, komplett seperates board willst, kommst du um eine zweite installation nicht herum, denke ich.
Hmm, das ist ja blöd. Wie machen denn die ganzen Free-Boarder das? Die können doch nicht für jeden User eine eigene Installation haben.
frag mich was einfacheres ;)
benutzt du dieselbe datenbank, musst du schon da irgendeine unterscheidung vornehmen, welcher inhalt nun zu welchem board gehört, und das in jeder tabelle
Da hatte ich gehofft, dass ich dies einfach einmal mit der Zuweisung des Prefix erschlagen kann. So habe ich zwar eine Datenbank aber jedes Board arbeitet prinzipiell mit seinen eigenen Tabellen. Alle anderen Tabellen in der DB kennt es überhaupt nicht.
naja, dieselbe datenbank darf es ja ruhig sein, du musst nur einen anderen präfix benutzen.