ottogal: Jlog auf externer Festplatte

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

  1. 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

    1. 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

      1. 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

  2. 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

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. 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

      1. 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

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. 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...

          • es dürfte also wohl so nicht gehen.

          Gruß
          ottogal
          (Wie gesagt, k.A. von PHP)

          1. 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

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. 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

              1. 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

            2. 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