Ankündigung

Einklappen
Keine Ankündigung bisher.

VServer - Zugriff auf SESSION-Verzeichnis unter /tmp

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • VServer - Zugriff auf SESSION-Verzeichnis unter /tmp

    Hi Leute,

    ich habe nen Linux Vserver und administriere unter Anderem eine PHP-Anwendung darauf.

    Das Session-Verzeichnis für die Anwendung ist in der Regel "/tmp", wenn man es nicht gerade in "open_basedir" ändert.

    Nun lege ich zudem ein weiteres Verzeichnis "sess_adm" im "/tmp" -Verzeichnis an und möchte darin nun eine andere Session ablegen.

    Im PHP-Script ändere ich den session_save_path('Neuer Verzeichnispfad'); und schreibe darunter session_start() damit der neue Pfad auch gezogen wird.

    Das Verzeichnis "sess_adm" wird unterhalb vom "/tmp"-Verzeichnis ohne Probleme angelegt. Nur wird die SESSION nicht in das sess_adm-Verzeichnis abgelegt.

    Was ich schon alles versucht habe:
    - ugo-Rechte mit chmod geändert auf 777.
    - root als user genommen (aber wieder umgestellt auf Ursprung, da nichts gebracht)

    Auf meinem Testserver funktioniert alles. Muss aber auch zugeben das ich Open_basedir auf dem Testserver abgeschaltet habe, was eigentlich suboptimal ist.

    Hmm....mir fällt zurzeit nichts mehr ein.

    Hat jemand von Euch nen Hinweis?

    Im Voraus besten Dank an alle Beteiligten!

  • #2
    Nur mal so ne Frage, was ist dein Ziel?
    Willst du den tmp-Ordner aufräumen?
    [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
    [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

    Kommentar


    • #3
      macht die distrie sicher automatisch:
      tmpwatch(rh), bootmisc(gentoo) etc (??)

      Kommentar


      • #4
        Die Funktion gibt ja den verwendeten Pfad als Rückgabewert - bekommst du da auch den gewünschten Pfad?
        [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

        Kommentar


        • #5
          Hi Leute,

          vielen Dank für Eure Antworten.

          @ChrisvA
          Nein, das macht die Distri (OS 12.3) automatisch.
          Ich möchte so wie oben beschrieben in dem neu erstellten Verzeichnis "sess_adm" Sessions ablegen, was aber nicht funktioniert.

          @moma
          Absolut korrekt!

          @ChristianK
          Ja, der Rückgabewert ist der Pfad zum /tmp-Verzeichnis.

          echo session_save_path()
          gibt als Rückgabewert "/tmp" zurück.

          Frage:
          Warum werden keine Sessions in das neue Verzeichnis "/tmp/sess_adm" geschrieben?

          Kommentar


          • #6
            Wenn
            PHP-Code:
            session_save_path('/tmp/dir');
            var_dump(session_save_path()); 
            dir nicht den neuen Pfad liefert, wird wohl ein setzen durch etwas verhindert.
            [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

            Kommentar


            • #7
              Als Hinweis: Alternativ könntest du dir das Aufräumen sparen und Memcached Session nutzen. Das kann PHP-seitig konfiguriert werden, ohne an den Quellcode der Anwendungen ran zu müssen.
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar


              • #8
                @ChristianK
                Genau so ist es.
                echo session_save_path(); müsste doch eigentlich auch den neuen Pfad anzeigen, oder?
                Kann es an den Berechtigungen liegen?
                Eine Änderung von open_basedir() in der ini wird keine Hilfe schaffen. Hab's schon probiert. :-/

                Kommentar


                • #9
                  Hast du mal in die error-log geschaut?
                  [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
                  [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

                  Kommentar


                  • #10
                    Zitat von centauro Beitrag anzeigen
                    @ChristianK
                    Genau so ist es.
                    echo session_save_path(); müsste doch eigentlich auch den neuen Pfad anzeigen, oder?
                    Kann es an den Berechtigungen liegen?
                    Eine Änderung von open_basedir() in der ini wird keine Hilfe schaffen. Hab's schon probiert. :-/
                    Kann sein, das PHP keinen Zugriff darauf bekommt. Versuche einmal mittels PHP (auch über den Browser) eine Datei in dem Verzeichnis zu erstellen.

                    OT: Manchmal lobe ich mir Java - in PHP bekommt man für viele Dinge einfach keine vernünftige Fehlermeldung (wie hier).
                    [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

                    Kommentar

                    Lädt...
                    X