Jlog auf externer Festplatte
ottogal
- sonstiges
Hallo Forum,
mit Jlog unter Xampp und WinXP habe ich das Problem(chen), dass in der Datei personal/setting.inc.php in der Zeile
define('JLOG_BASEPATH', 'X:\xampp\htdocs\jlog\');
der Laufwerksbuchstabe der externen Festplatte, auf dem mein Xampp liegt (hier X), fest eingetragen ist. Weist ihr nun Windows beim Start einen anderen Buchstaben zu, so lässt sich Xampp durch Ausführen von setup_xampp.bat leicht darauf umstellen - die setting.inc.php kriegt das aber nicht mit - bleibt manuelles Ändern der Zeile.
Ließe sich das nicht beheben?
Meines Wissens lässt sich XP auch dazu bringen, jedem Drive beim Neustart den stets gleichen Laufwerksnamen zuzuweisen - sagt mir noch mal jemand, wie das geht? (Ok, könnte auch danach suchen...)
Viele Grüße
ottogal
habe d'ehre ottogal
mit Jlog unter Xampp und WinXP habe ich das Problem(chen), dass in der Datei personal/setting.inc.php in der Zeile
define('JLOG_BASEPATH', 'X:\xampp\htdocs\jlog\');
der Laufwerksbuchstabe der externen Festplatte, auf dem mein Xampp liegt (hier X), fest eingetragen ist. Weist ihr nun Windows beim Start einen anderen Buchstaben zu, so lässt sich Xampp durch Ausführen von setup_xampp.bat leicht darauf umstellen - die setting.inc.php kriegt das aber nicht mit - bleibt manuelles Ändern der Zeile.
Ließe sich das nicht beheben?
Woher sollte XAMPP von einer Jlog-Installation oder anderen tausend möglichen Softwaresettings wissen? setup_xampp.bat kennt nur die eigene Umgebung.
Evtl. kannst Du in der Datenträgerverwaltung etwas einstellen.
Start -> Einstellungen -> Systemsteuerung -> Verwaltung -> Computerverwaltung -> Datenträgerverwaltung
man liest sich
Wilhelm
Hallo Wilhelm,
Woher sollte XAMPP von einer Jlog-Installation oder anderen tausend möglichen Softwaresettings wissen? setup_xampp.bat kennt nur die eigene Umgebung.
Eben, das war schon klar.
Evtl. kannst Du in der Datenträgerverwaltung etwas einstellen.
Start -> Einstellungen -> Systemsteuerung -> Verwaltung -> Computerverwaltung -> Datenträgerverwaltung
Danke, ich habe erfolgreich den Laufwerksnamen geändert, er bleibt sogar bei Neustart erhalten (habe aber noch nicht getestet, ob das wieder dahin ist, wenn ich z.B. einen USB-Stick vor der fraglichen HD anschließe).
Leider habe ich nun ein neues Problem: Das Schreiben und Lesen von Kommentaren klappt nun nicht mehr, der Pfad dahin wird nicht mehr gefunden. Gibts da noch eine Datei, in der ich was anpassen muss?
Danke für Hinweise!
ottogal
Hallo in die Runde,
Leider habe ich nun ein neues Problem: Das Schreiben und Lesen von Kommentaren klappt nun nicht mehr, der Pfad dahin wird nicht mehr gefunden. Gibts da noch eine Datei, in der ich was anpassen muss?
Das Problem ist gelöst - es lag daran, dass im Administrationscenter unter Einstellungen die Option "Saubere URLs verwenden" auf Ja stand. Umschalten auf Nein, und der Pfad zu den Kommentaren wird wieder gefunden...
Fragen bleiben: Ich erinnere mich nicht, dies umgestellt zu haben, und es funktionierte ja vorher bereits. Werde mich wohl auch mal mit mod_rewrite befassen müssen...
Nochmal Dank und Gruß
ottogal
hi,
define('JLOG_BASEPATH', 'X:\xampp\htdocs\jlog\');
Sowas muss normalerweise nicht fest verdrahtet werden.
Sich auf $_SERVER['DOCUMENT_ROOT'] zu beziehen (ggf. dann noch den Pfad unterhalb von diesem statisch ergänzen), oder vom Pfad des aktuellen Scriptes auszugehen (PHP_SELF, realpath & __FILE__), sollte idR. günstiger sein.
gruß,
wahsaga
Hallo wahsaga,
define('JLOG_BASEPATH', 'X:\xampp\htdocs\jlog\');
Sowas muss normalerweise nicht fest verdrahtet werden.
Sich auf $_SERVER['DOCUMENT_ROOT'] zu beziehen (ggf. dann noch den Pfad unterhalb von diesem statisch ergänzen), oder vom Pfad des aktuellen Scriptes auszugehen (PHP_SELF, realpath & __FILE__), sollte idR. günstiger sein.
Danke für diese Info - ich kann mich aber leider mit Fug und Recht als PHP-Ignoranten bezeichnen. Deshalb nachgefragt: Wie müsste ich die obige define-Zeile also abändern? Etwa so:
define('JLOG_BASEPATH', $_SERVER['DOCUMENT_ROOT'] & 'xampp\htdocs\jlog\');
oder wie wäre die korrekte Syntax?
Danke
ottogal
hi,
Wie müsste ich die obige define-Zeile also abändern? Etwa so:
define('JLOG_BASEPATH', $_SERVER['DOCUMENT_ROOT'] & 'xampp\htdocs\jlog\');
Mal eine Kontrollausgabe von $_SERVER['DOCUMENT_ROOT'] gemacht, mit dem bisherigen statischen Pfad verglichen?
gruß,
wahsaga
Hallo wahsaga,
Mal eine Kontrollausgabe von $_SERVER['DOCUMENT_ROOT'] gemacht, mit dem bisherigen statischen Pfad verglichen?
Mit echo $_SERVER['DOCUMENT_ROOT'];
habe ich die Ausgabe X:/xampp/htdocs
bekommen statt des in der define-Zeile stehenden X:\xampp\htdocs...
Gruß
ottogal
(Wie gesagt, k.A. von PHP)
hi,
Mit echo $_SERVER['DOCUMENT_ROOT'];
habe ich die Ausgabe X:/xampp/htdocs
bekommen statt des in der define-Zeile stehenden X:\xampp\htdocs...
- es dürfte also wohl so nicht gehen.
Doch - auch unter Windows kannst du den / als Pfad-Trenner benutzen.
gruß,
wahsaga
Hallo wahsaga,
Mit echo $_SERVER['DOCUMENT_ROOT'];
habe ich die Ausgabe X:/xampp/htdocs
bekommen statt des in der define-Zeile stehenden X:\xampp\htdocs...
- es dürfte also wohl so nicht gehen.
Doch - auch unter Windows kannst du den / als Pfad-Trenner benutzen.
Zusatz: Dies gilt in PHP und anderen Umgebungen, die Pfade besonders interpretieren (Apache-Config, Python, Webbrowser, etc.). "/" ist unter Windows nämlich grundsätzlich kein Pfadtrenner.
Viele Grüße,
Christian
Hallo Christian,
Doch - auch unter Windows kannst du den / als Pfad-Trenner benutzen.
Zusatz: Dies gilt in PHP und anderen Umgebungen, die Pfade besonders interpretieren (Apache-Config, Python, Webbrowser, etc.). "/" ist unter Windows nämlich grundsätzlich kein Pfadtrenner.
so eng würde ich das nicht sehen - ich vermute, es ist ein Relikt aus dem POSIX-Subsystem von Windows NT 3.x und 4.0.
Du kannst den Slash im Kommandozeileninterpreter CMD.EXE und auch gern in Visual Basic als Pfadtrenner verwenden. Sogar gemischt funktioniert das. Ich habe jetzt nicht in der MSDN nachgesehen, inwieweit man das verallgemeinern kann.
Interessant finde ich folgenden Unterschied in CMD.EXE:
REM Lege das Verzeichnis a und darin das Unterverzeichnis b an
MD a\b
REM Syntaxfehler
MD a/b
REM Lege das Verzeichnis a und darin das Unterverzeichnis b an
MD "a/b"
Freundliche Grüße
Vinzenz
Doch - auch unter Windows kannst du den / als Pfad-Trenner benutzen.
Ich habe endlich "self" ein wenig nach PHP-Basics geschaut und nun kapiert, dass der Doppel-Slash eine Maskierung ist. Wenn dann Slash und Backslash beide akzeptiert werden, sollte dies hier doch gehen:
define('JLOG_BASEPATH', $_SERVER['DOCUMENT_ROOT'] & 'xampp\htdocs\jlog\');
Bin bloß nicht sicher, ob die Strings mit & verkettet werden - Leerzeichen ok.? -, oder mit einem Punkt, was ich auch wo gesehen habe...
Viel wichtiger ist mir aber im Moment mein anderes Problem, das ich am Ende meiner Antwort auf Wilhelm genannt habe ...
Vielen Dank allen!
ottogal