Analyse der Katastrophe


[ Baumstark-Rettungsforum ]


Geschrieben von Muli am 26. Februar 2001 20:48:27:

Als Antwort auf: Das ist auch gut so geschrieben von Muli am 26. Februar 2001 09:40:20:

Hallo ihr Alle,

wie gesagt, ich halte euch auf dem Laufenden :-(

Ich habe inzwischen den PHP-Aufbau von Pair auf meinem Linux-Server nachgebaut und entsprechende Tests gemacht. Nach Auswertung der Logs ergibt sich folgendes, niederschmetterndes Bild:

* ich habe den Fehler exakt rekonstruieren können und kann deshalb definitiv sagen, wo das Problem liegt. Ich will es im Folgenden versuchen verständlich zu machen.

* PHP arbeitet sehr stark mit sogenannten INCLUDES. Das sind einfache PHP-Dateien, die zur Laufzeit einer anderen PHP-Datei einfach eingebunden werden können. Stellt euch also vor, man baut ein Include-File für den Datei-Kopf, eines fürs Menu, und eines für die Fußzeile einer Website, dann braucht man das nur noch in jedes Dokument einbinden und schon haben alle den gleichen Header, das gleiche Menü... Wenn ich also eine Änderung an meinem Sitemenü machen muß, dann mache ich das in 1 Datei (nämlich der Include-Datei in der das Menü definiert wird) und die Änderung ist gültig für alle Seiten. Sicher versteht ihr an diesem Beispiel, warum große Seiten diese Technik fast schon benutzen müssen. Wer mal ein Menü auf über 100 Seiten per Hand aktualisiert hat, weiß wovon ich rede.

Nun stellt euch das mal in Verbindung mit einer Datenbank vor, in der von den Hintergrundfarben, Schriften bis zu den Texten alles gespeichert ist und nur noch mittels Variablen zugewiesen werden muß. Nehmt dann dazu eine Userverwaltung, die das relational in Beziehung zu den Atttributen und Inhalten der Site setzt. Jetzt seht ihr eine durchgängig dynamische Website, die sich sowohl den Admins als auch den Usern anpaßt und völlig ohne Uploads auskommt.
Genau das habe ich mit bs gemacht, wobei ich die Benutzerverwaltung aus dem Forum als Benutzerverwaltung in die Site und andersherum das Layoutmanagement der Site als Layoutmanagement des Forums integriert habe.

Das war sehr kompliziert, denn sowohl bs als auch das Forum waren mal "eigenständige Wesen" und es ging nur durch vielfältige logische Verknüpfungen und den extremen Einsatz von INCLUDES. Die schaufeln nun nämlich Infos vom Forum in die Site und von der Site in's Forum und das noch ineinander verschachtelt und auf jeder Seite anders geschachtelt, so daß immer alle Infos für alle Funktionen vorhanden sind.

Es hat bei mir unter Win32 und Linux sehr gut funktioniert und auch bei Pair bis vor kurzem noch. Nun haben sie das Update gemacht und es geht nicht mehr und ist - das weiß ich seit vorhin - auch nicht mehr machbar.

Die verschachtelten INCLUDES werden nämlich aus 3 unterschiedlichen Verzeichnissen aufgerufen und genau da liegt das Problem. Normalerweise setzt man einen Pfad für PHP, der dem Parser mitteilt, wo er nach INCLUDES suchen darf. Da eine Website immer Unterverzeichnisse hat, ist das auch der einzig richtige Weg PHP zu konfigurieren. Pair hat nun den Pfad einfach ganz weggelassen. Das darf man bei PHP4 auch. Dann müssen aber ALLE Deteien - also sowohl PHP-Files wie Includes in ein und dem selben Verzeichnis liegen oder zumindest auf der gleichen Ebene. Ich habe aber 3 Ebenen programmiert (root==> portal==>admin), so daß es nicht mehr gehen kann.

Ich müßte nun also ALLE Scripte umprogrammieren, ja die Struktur an sich neu schreiben (über 100 Files), was die Arbeit von vielen Wochen zunichte macht und wo ich am Ende nicht sicher sein kann, ob es läuft und wenn es läuft, ob Pair nich mal wieder die INIs ändert.

Ich bin völlig ratlos und sehe keinen gangbaren Ausweg aus dieser Misere.

Soweit erst mal.

Einen schönen Abend und gute Nacht. Ich muß da erst mal drüber schlafen.

Euer Muli





Antworten:


[ Baumstark-Rettungsforum ]