Mailinglisten-Archive |
Hallo Björn, danke auch für deine Hinweise. > Eventuell ist dein Applikationsdesign broken. Das will ich nicht ausschliessen. Bisher habe ich überwiegend Spagetticode geschrieben. Möchte aber in Zukunft etwas solider und leicht wartbarer entwickeln. > Ich würde es so machen, dass ich eine local/config.php hätte, die in > einer Konstanten oder ähnliches den Verzeichnispfad der jeweiligen > Installation enthält, der sich von Installation zu Installation > unterscheidet. Diese(n) gebe ich an ini_set('include_path',...); > weiter und das Problem ist gelöst. Also ich habe pro Installation eine eigene config Datei, in der ich z.B. die Datenbank initialisiere und in der ich auch andere, für die Installation wichtige Werte setze. Das Problem ist aber, dass diese eben auch in dem Verzeichnis liegt, dass ich ja gerade in den include_path aufnehmen möchte. Ich hatte den Aufruf zu Beginn also unterschlagen. Der Beginn eines Skriptes sieht also wie folgt aus: require_once("cfg/config.php"); // load Config Data require_once("Smarty.class.php"); // load Smarty Template Class require_once("DB.php"); // load PEAR::DB Class require_once("cls/website.php"); // load Website Class Sowohl "cfg/config.php" als auch "cls/website.php" liegen als für Projekt 1 z.B. in Pfad "e:\projekt1\html\_php". Also habe ich beim Laden der "cfg/config.php" das gleiche Problem wie beim Laden der "cls/website.php", weil der include_path eben nicht gesetzt ist. Mit dem ABSOLUTE_LOCAL_PATH verhält es sich ja ähnlich, weil ich den ja zumindest einmal irgendwo setzen muss. Das möchte ich aber an zentraler Stelle und nicht im Skript selber, eben weil der ABSOLUTE_LOCAL_PATH ja lokal und auf dem Server anders ist. > Allerdings bevorzuge ich lieber das dynamische Setzen des Include Pfads, > da require_once 'cls/website.php'; wesentlich cleaner ist. Genau das bevorzuge ich auch. Vielen Dank für deine Hilfe, aber verstanden habe ich es immer noch nicht, wie ich mein Problem lösen kann. Vielleicht liegt mein Problem auch in diesem Hinweis begründet: > Eventuell ist dein Applikationsdesign broken. Wenn mir und niemand anderem nichts weiter einfällt, werde ich vorerst dabei bleiben, alle include_path Werte in meiner globalen php.ini zu setzen. Das funktioniert zumindest. :-( Nochmals danke an alle, die bisher geantwortet haben. Gruss, Ralf
php::bar PHP Wiki - Listenarchive