Tom: Debian 4 Server leert beim Hochfahren tmp-Verzeichnis

Hello,

so langsam gelingt der Rundumschlag...

Bei meinem Debian-Testserver habe ich allerdings noch ein kleineres Problemchen. Er leert beim Hochfahren immer das Verzeichnis /tmp, schmeißt also alle darin angelegten Unterverzeichnisse nebst Dateien weg.

Prinzipiell hätte ich ja nichts dagegen, aber es stört die mit /von Debian vertriebene PHP-Einrichtung. Die legt nämlich out-of-the-box als session.save_path "/tmp/sessions/others" fest, was dann freilich nach dem Leeren des /tmp-Verzheichnisses nicht mehr vorhanden ist.

Ich habe die Vorgabe freilich erst mal geändert...

Aber wo muss ich nun suchen, um das automatsiche Löschen des Debian beim Hochfahren zu finden?

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  1. Ich grüsse den Cosmos,

    Aber wo muss ich nun suchen, um das automatsiche Löschen des Debian beim Hochfahren zu finden?

    Ich kenn keine Möglichkeit, würde aber auch dringend davon abraten.
    Diese Dateien könnne, falls sie nicht beim Booten gelöscht werden, recht unangenehme Effekte haben. Programme können fals initialisiert werden, gar nicht starten oder abstürzen.

    Wenn du Dateien hast, die nicht gelöscht werden sollen, entweder das Schreibrecht entzuehen oder in ein anderes Verzeichnis legen.

    Möge das "Self" mit euch sein

    --
    Fragt ein Atom das andere: Hast du mein Elektron gesehen? Ich bin heute so positiv.
    ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
  2. Hallo Tom,

    Bei meinem Debian-Testserver [...] leert beim Hochfahren immer das Verzeichnis /tmp, schmeißt also alle darin angelegten Unterverzeichnisse nebst Dateien weg.

    das finde ich sehr ordentlich - unter Windows kostet es einige Mühe, das System so zu erziehen, dass es seine Kackhäufchen gelegentlich selbst wegräumt.

    Prinzipiell hätte ich ja nichts dagegen, aber es stört die mit /von Debian vertriebene PHP-Einrichtung. Die legt nämlich out-of-the-box als session.save_path "/tmp/sessions/others" fest, was dann freilich nach dem Leeren des /tmp-Verzheichnisses nicht mehr vorhanden ist.

    Jetzt muss ich mich aber wundern: Wie oft startest du deinen Server neu? Ich gehe eigentlich davon aus, dass man den einmal hochfährt und dann auf unbestimmte Zeit laufen lässt.
    Und *wenn* man den Server mal neu starten muss, dann bestimmt aus einem Grund, der auch das Fortsetzen der bis dato gespeicherten Sessions fragwürdig erscheinen lässt.
    Warum siehst du also in dem beschriebenen Verhalten ein Problem?

    So long,
     Martin

    --
    Programmierer (m), seltener auch ~in (w):
    Irdische, i.a. humanoide Lebensform, die in einem komplizierten biochemischen Prozess Kaffee, Cola und Pizza in maschinenlesbaren Programmcode umwandelt.
    P~ bilden gelegentlich mit ihresgleichen kleine Gruppen, sogenannte Communities, sind aber ansonsten meist scheue Einzelgänger.
    P~ sind vorwiegend nachtaktiv und ohne technische Hilfsmittel nur eingeschränkt lebensfähig.
    1. Hello,

      Jetzt muss ich mich aber wundern: Wie oft startest du deinen Server neu? Ich gehe eigentlich davon aus, dass man den einmal hochfährt und dann auf unbestimmte Zeit laufen lässt.
      Und *wenn* man den Server mal neu starten muss, dann bestimmt aus einem Grund, der auch das Fortsetzen der bis dato gespeicherten Sessions fragwürdig erscheinen lässt.
      Warum siehst du also in dem beschriebenen Verhalten ein Problem?

      Das war nicht die Frage!

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  3. hallo Tom,

    Bei meinem Debian-Testserver habe ich allerdings noch ein kleineres Problemchen. Er leert beim Hochfahren immer das Verzeichnis /tmp, schmeißt also alle darin angelegten Unterverzeichnisse nebst Dateien weg.

    Das macht nicht nur Debian so, sondern das tun alle aktuellen Versionen der verschiedenen Distributionen - und das ist auch sehr lobenswert.

    es stört die mit /von Debian vertriebene PHP-Einrichtung. Die legt nämlich out-of-the-box als session.save_path "/tmp/sessions/others" fest

    Was ist das für eine "vertriebene PHP-Einrichtung"? Bei mir gibt es diesen Pfad nicht, da geht das alle nach /opt/php/variables.

    Ich habe die Vorgabe freilich erst mal geändert...

    Dann laß das am besten auch so, wie du es jetzt geändert hast.

    Aber wo muss ich nun suchen, um das automatsiche Löschen des Debian beim Hochfahren zu finden?

    Netter Versprecher: jetzt löscht sich also dein Debian gleich ganz und gar selber beim Booten?

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
  4. Hello,

    also nun sagt mal ehrlich.
    So langsam kann ich die "Newbies" verstehen, wenn sie hier verzweifeln und gleich wieder abziehen!
    Ihr wollt mich doch sicher nur erziehen, dass ich in Zukunft NOCH MEHR Verständnis für Newbie-Fragen habe, oder?

    Aber nun mal ernsthaft.

    Meine Kernfrage war: Wo kann man beim Debian 4.x festlegen, ob der beim Hochfahren sein /tmp-Verzeichnis leeren soll, oder nicht?

    Welcher Runlevel ist für normales Hochfahren der richtige? Ich dachte immer, es wäre RL3 und habe daher dort nach Startscripten gesucht...

    Ob ich das dann ändern werde, steht auf einem ganz anderen Blatt.

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

    1. Hello,

      Meine Kernfrage war: Wo kann man beim Debian 4.x festlegen, ob der beim Hochfahren sein /tmp-Verzeichnis leeren soll, oder nicht?

      Ok, nach langem hangeln durch die verschachtelten Scripte bin ich bei

      /etc/init.d/bootclean

      gelandet. Und da steht auch genug Quark drin.

      Jetzt müsste ich nur noch einen Schnellkurs in Shell-Programmierng haben.
      Wer hat zufällig einen übrig? ;-)

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      1. Hellihello Tom,

        Jetzt müsste ich nur noch einen Schnellkurs in Shell-Programmierng haben.
        Wer hat zufällig einen übrig? ;-)

        Viiiinzenz...;

        Gruß,

        frankx

        1. Hello frankx,

          Jetzt müsste ich nur noch einen Schnellkurs in Shell-Programmierng haben.
          Wer hat zufällig einen übrig? ;-)

          Viiiinzenz...;

          Der Link von Dedlfix sieht schon sehr gut aus.

          Ich frage mich nur, warum PHP, was mit "apt-get install" auf dem Debian installiert wurde und in der Version 5.2.0 noch nicht sooo alt ist, mit diesen Voreinstellungen kommt.
          Dass das Aufräumen des /tmp-Verzeichnisses sinnvoll ist, habe ich nicht bestritten.

          Kritische Anmerkungen finde ich auch gut. Durch Diskussion lernt man mMn am meisten, da kann man sich auch ruhig von Zeit zu Zeit "blamieren". Das ist allemal noch besser, als sich vor Angst, erkannt zu werden, ständig in die Hosen zu scheißen und daher ständig andere Nicknames zu benutzen.

          Ich denke, Pattrick hatte das schon mal deutlich genug ausgesprochen, was solche Leute wert sind, insbesondere, wenn sie ihre ganze Kraft nur in das Mobbing Einzelner investieren *tztz*

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

          1. Hallo Tom,

            Ich frage mich nur, warum PHP, was mit "apt-get install" auf dem Debian installiert wurde und in der Version 5.2.0 noch nicht sooo alt ist, mit diesen Voreinstellungen kommt.

            Wieso sollte es das nicht? Sessions sind nun ein mal temporäre Daten und normalerweise bootet man ja einen Server eher selten neu.

            Schöne Grüße,

            Johannes

            1. Hello,

              Ich frage mich nur, warum PHP, was mit "apt-get install" auf dem Debian installiert wurde und in der Version 5.2.0 noch nicht sooo alt ist, mit diesen Voreinstellungen kommt.

              Wieso sollte es das nicht? Sessions sind nun ein mal temporäre Daten und normalerweise bootet man ja einen Server eher selten neu.

              Weil PHP den angegebenen Pfad nicht selbst erzeugt, wenn er nicht vorhanden ist.

              /tmp/sessions/others        steht im session.save_path drin.

              Nach dem Neustart ist aber nur noch

              /tmp

              vorhanden.
              Da fällt PHP dann auf die Schnauze.

              ;;     session.save_path = "N;/path"
              ;  session.save_path = "/tmp/sessions/others"
                session.save_path = "/sessions/others"

              ; where N is an integer.  Instead of storing all the session files in
              ; /path, what this will do is use subdirectories N-levels deep, and
              ; store the session data in those directories.  This is useful if you
              ; or your OS have problems with lots of files in one directory, and is
              ; a more efficient layout for servers that handle lots of sessions.
              ;
              ; NOTE 1: PHP will not create this directory structure automatically.
              ;         You can use the script in the ext/session dir for that purpose.
              ; NOTE 2: See the section on garbage collection below if you choose to
              ;         use subdirectories for session storage

              Den Pfad, der im Session-Save-Path genannt wird, legt es nicht automatisch an.

              -----------------------------------
              http://de2.php.net/manual/de/ref.session.php#ini.session.save-path

              session.save_path string
              session.save_path definiert das Argument, das an die Speicherprozedur übergeben wird. Wenn Sie die standardmäßige files Prozedur wählen, ist das der Pfad, unter dem die Dateien erzeugt werden. Grundeinstellung /tmp. Siehe auch session_save_path().

              Für diese Anweisung gibt es ein optionales Argument N, das die Anzahl der Verzeichnisebenen bestimmt, über die Ihre Session-Dateien verteilt werden. Wird sie zum Beispiel auf '5;/tmp' gesetzt, kann das das Anlegen einer Session-Datei und Speicherstelle wie /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If bewirken. Um N verwenden zu können, müssen Sie alle diese Verzeichnisse vorher anlegen. In ext/session gibt es für diesen Zweck ein kleines Shell-Script namens mod_files.sh. Beachten Sie, dass die automatische 'Müllentsorgung' (garbage collection) nicht durchgeführt wird, wenn N verwendet wird und größer 0 ist (für weitere Informationen siehe eine Kopie der php.ini). Achten Sie bei der Verwendung von N außerdem darauf, dass Sie session.save_path zwischen Anführungsstriche setzen, weil der Trenner (;) in der php.ini auch für Kommentare benutzt wird.

              Warnung
              Wenn Sie ein Verzeichnis gewählt haben, für das jeder Leserechte hat, wie das z.B. bei /tmp (Grundeinstellung) der Fall ist, könnten andere Serverbenutzer mit Hilfe der Dateiliste dieses Verzeichnisses Ihre Sessions entführen.

              Anmerkung: Vor PHP 4.3.6 mussten Benutzer von Windows diese Variable ändern, um die Session-Funktionen von PHP nutzen zu können. Es muss ein gültiger Pfad, z.B. c:/temp, angegeben werden.
              -----------------------------------

              PHP-Sessions gehören folglich für jeden Virt Host in ein eigenes Verzeichnis, dass nach Erzeugung dem Webserver als Owner übertragen wird. Die Rechte sind auf rwx --- --- zu setzen, da Sessions i.d.R. nicht datengesichert werden müssen.

              Anderenfalls ist der Datensicherungsgruppe Lese- und Scanrecht (rx) zu gewähren.

              Dies alles geschieht (oft) automatisiert bei der Einrichtung eines Virt Host.
              Auch open_basedir ist dann entsprechend zu ergänzen.

              Der eigentliche Mangel liegt meiner Meinung nach da bei PHP.

              Vielleicht habe ich ja auch etwas übersehen.

              drwxrwxrwt  5 root     root  144 2007-11-02 18:35 tmp

              Aber in tmp dürfen, wie man sieht, alle schreiben.
              Wenn PHP also versucht hätte, hier einen kompletten Pfad anzulegen, dann hätte das auch geklappt.

              Und nun speziell an den Schisser mit der vollen Hose:

              Wenn ich in das Startscript des Servers hineinschauen will und dies anpassen möchte, dann wahrscheinlich eher, um das Anlegen der benötigten Pfade NACH DEM LÖSCHEN nachzubessern, und nicht eine sinnvolle Sache, wie das Aufräumen von /tmp-Dateien zu unterbinden. Aber Nachdenken ist scheinbar nicht Deine Stärke, nur Nachtragen...

              Frage mich aber, wie ich das dann mit den Virt-Host-Einrichtungen harmonisieren soll.
              Die beste Lösung wäre also, PHP an dieser Stelle zu "reparieren".

              Harzliche Grüße vom Berg
              http://bergpost.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
              Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

              1. Hallo lieber, lieber Tom,

                Wenn ich in das Startscript des Servers hineinschauen will und dies
                anpassen möchte, dann wahrscheinlich eher, um das Anlegen der
                benötigten Pfade NACH DEM LÖSCHEN nachzubessern, und nicht eine
                sinnvolle Sache, wie das Aufräumen von /tmp-Dateien zu unterbinden

                Achtung, lieber Tom, du laeufst wieder schnurstracks in eine
                Sackgassse - so, wie ich es dir bereits in meinem letzten
                Posting attestiert habe. Na, wenn das mal nicht lustig ist!
                Da hol ich mir doch direkt einen Kaffee, ne Zigarette und werd
                mich schoen schmunzelnd zuruecklehnen..

                Du schriebst:

                [..]allerdings noch ein kleineres Problemchen. Er leert beim
                Hochfahren immer das Verzeichnis /tmp
                Meine Kernfrage war: Wo kann man beim Debian 4.x festlegen, ob der
                beim Hochfahren sein /tmp-Verzeichnis leeren soll, oder nicht?

                Sowohl Christoph Schnauß, als auch der Martin, Manuel B und meinereiner

                • alles poese Buben, die dein Anliegen nicht verstanden haben. Aha.

                Aber Nachdenken ist scheinbar nicht Deine Stärke, nur Nachtragen...

                Jeder hat seine Qualitaeten - obwohl, wirklich jeder?*

                Schlaf gut, lieber Tom
                False

                * Achtung #2: Bevor Du wieder nichtsahnend darauf eingehen solltest:
                das war wieder eine rhetorische Aeuusserung.

                PS: Bei Linux sind Verzeichnisse doch eh egal, ich meine, es arbeitet
                ja lediglich mit Baumstrukturen oder nicht?

                1. Hello,

                  * Achtung #2: Bevor Du wieder nichtsahnend darauf eingehen solltest:
                  das war wieder eine rhetorische Aeuusserung.

                  Nee, das ist keine Rhetorik, sondern nur Dummheit. Aber Du merkst es ja zum Glück selber nicht.

                  Ich habe auch Verstämdnis dafür, dass Du mit vollgeschissener Hose keine Postings mit Inhalt zur Sache zustandebringst, sondern eben nur Dünnschiss ;-)

                  Antwortetst Du jetzt eigentlich mit dem nächsten Nickname?

                  Harzliche Grüße vom Berg
                  http://bergpost.annerschbarrich.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau
                  Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

                  1. Hallo ehrenwerter Tom,

                    Nee, das ist keine Rhetorik, sondern nur Dummheit. Aber Du merkst es ja zum Glück selber nicht.

                    Na, da hast Du in der Schule wohl nicht aufgepasst.

                    Ich habe auch Verstämdnis dafür, dass Du mit vollgeschissener Hose keine Postings mit Inhalt zur Sache zustandebringst, sondern eben nur Dünnschiss ;-)

                    Da dies bereits nun das dritte Posting von Dir ist, in dem Du geradzu mit Faekalien um
                    dich schmeisst, laesst es einen erahnen, dass du eine ganz gewisse Lebensphase
                    wohl noch nicht so recht ueberwunden hast.

                    Antwortetst Du jetzt eigentlich mit dem nächsten Nickname?

                    Ja, wie man sieht.
                    Andererseits koennte ich ja auch mit Rose antworten,
                    nicht wahr, Tom?

                    Und der Kaffee schmeckt richtig gut, Danke.

                    Liebe Gruesse,
                    NaechsterNick

      2. echo $begrüßung;

        Jetzt müsste ich nur noch einen Schnellkurs in Shell-Programmierng haben.
        Wer hat zufällig einen übrig? ;-)

        Bietet bitworks keinen an? Wie wärs dann damit: http://de.wikibooks.org/wiki/Linux-Kompendium:_Shellprogrammierung oder den Links am Ende der verlinkten Seite?

        echo "$verabschiedung $name";

        1. Hello,

          Jetzt müsste ich nur noch einen Schnellkurs in Shell-Programmierng haben.
          Wer hat zufällig einen übrig? ;-)

          Bietet bitworks keinen an?

          Leider nur die Kollegen in der Schweiz. :-(

          Wie wärs dann damit: http://de.wikibooks.org/wiki/Linux-Kompendium:_Shellprogrammierung oder den Links am Ende der verlinkten Seite?

          Danke für den Link.

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      3. Ich grüsse den Cosmos,

        Jetzt müsste ich nur noch einen Schnellkurs in Shell-Programmierng haben.

        clean_tmp() {

        Nach dieser Zeile einfach ein

        return 0

        Dann wird das tmp gar nicht mehr angerührt.
        Die Probleme, die dadurch entstehen werden/können soar ich mir jetzt, da du die ja nicht hören willst.

        Möge das "Self" mit euch sein

        --
        Fragt ein Atom das andere: Hast du mein Elektron gesehen? Ich bin heute so positiv.
        ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
        1. Hello,

          clean_tmp() {

          Nach dieser Zeile einfach ein

          return 0

          Dann wird das tmp gar nicht mehr angerührt.
          Die Probleme, die dadurch entstehen werden/können soar ich mir jetzt, da du die ja nicht hören willst.

          Welche Probleme können denn dadurch entstehen?

          Wo bitteschön habe ich geschrieben, dass ich das Leeren des tmp-Verzeichnisses unterbinden will?
          Ich hatte darum gebeten, mir dabei zu helfen, herauszufinden, an welcher Stelle (in welchem Script) der Debian die Löschungen vornimmt.

          Im gleichen Posting habe ich wörtlich geschrieben "Prinzipiell hätte ich ja nichts dagegen, ..."

          Und vielleicht liest Du Dir auch noch mal meine ausführliche Begründung durch, die ich Johannes gegeben habe. https://forum.selfhtml.org/?t=161204&m=1048879

          Die Problematik könnte man nun auf unterschiedliche Arten beseitigen.

          Da ich in PHP selbst nicht sinnvoll eingreifen kann (spätestens beim nächsten Update wäre vermutlich die alte Variante wieder da), muss ich es wohl oder übel in der Einrichtung des Fileservers tun.

          Man könnte nun alles, was mit dem Präfix /tmp/sessions/ beginnt vom automatischen Löschen ausschließen. Das wäre dann aber auch fast gleichbedeutend mit einer Verlagerung des Session-Verzeichnisses nach außerhalb von /tmp. So habe ich es ja zur Zeit gelöst.

          Da PHP einen eigenen Mechnismus für das Aufräumen hat, ist das wahrscheinlich gar nicht mal so schlecht. Und man kann dann für jeden virt-host auch weiterhin festlegen, ob der GC Zugriff haben soll oder nicht. Es gibt schließlich auch Anwendungsfälle, in denen die Sessiondateien solange leben bleiben, wie der Account lebt. Das Aufräumen macht dann die Applikation nur innerhalb der Sessiondatei. Ein zweiter transienter Cookie sorgt für die Zugangskontolle.

          Mich hat nur gewundert, dass mir dieses Verhalten des Debian bisher nicht aufgefallen war. Diejenigen, die ich bis vor ca. drei Monaten aufgesetzt hatte, haben ihr /tmp-Verzeichnis nicht geleert. Das könnte allerdings auch von Mirror zu Mirror anders sein, obwohl ich nicht annehme, dass das besonders schlau wäre...

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

          1. Hi,

            Da PHP einen eigenen Mechnismus für das Aufräumen hat

            hehe - dann solltest du dir aber nicht /etc/cron.d/php5 anschauen :-)

            Gruß,
            Andreas.

            1. Hello,

              Da PHP einen eigenen Mechnismus für das Aufräumen hat

              hehe - dann solltest du dir aber nicht /etc/cron.d/php5 anschauen :-)

              Ja, ist das denn nicht der Mechanismus von/für PHP?
              Deshalb ist doch PHP nicht auf das Löschen beim Hochfahren oder andere Lösungen angewiesen. Sehe ich das falsch?

              Ich wüsste aber nun nicht, wie ich PHP dauerhaft beibringen sollte, dass es Sessiondatein UND die Pfade dazu anlegt, wenn diese nicht vorhanden sind. Ich habe bisher keine Lösung dafür gefunden.

              Harzliche Grüße vom Berg
              http://bergpost.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
              Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

              1. Hi,

                hehe - dann solltest du dir aber nicht /etc/cron.d/php5 anschauen :-)

                Ja, ist das denn nicht der Mechanismus von/für PHP?

                _für_ PHP schon, aber _von_ Debian. PHP hat seine eigene garbage collection, welche im Debian Package aber deaktiviert wird, siehe z.B. /usr/share/php5/php.ini-dist:

                  
                ; Define the probability that the 'garbage collection' process is started  
                ; on every session initialization.  
                ; The probability is calculated by using gc_probability/gc_divisor,  
                ; e.g. 1/100 means there is a 1% chance that the GC process starts  
                ; on each request.  
                  
                ; This is disabled in the Debian packages, due to the strict permissions  
                ; on /var/lib/php5.  Instead of setting this here, see the cronjob at  
                ; /etc/cron.d/php5, which uses the session.gc_maxlifetime setting below  
                
                

                Deshalb ist doch PHP nicht auf das Löschen beim Hochfahren oder andere Lösungen angewiesen. Sehe ich das falsch?

                naja, das Löschen von /tmp hat nunmal rein gar nichts mit PHP zu tun. Ich selbst habe aber noch kein Problem deswegen mit PHP bekommen, daher kann ich auch dein Problem nicht ganz nachvollziehen.

                Gruß,
                Andreas.

                1. Hello,

                  naja, das Löschen von /tmp hat nunmal rein gar nichts mit PHP zu tun. Ich selbst habe aber noch kein Problem deswegen mit PHP bekommen, daher kann ich auch dein Problem nicht ganz nachvollziehen.

                  Hab ich auch nie behauptet.

                  Aber wir haben ja bald Karneval, da wollt Ihr wohl schon ein bisschen üben. Ok, macht nur weiter so :-)

                  Meine PHP-Installation von Version 5.2.0 auf dem Debian 4.0 weigert sich nur mit der Standard-Ini eine Sesion zu starten, wenn der Server neu gestartet wurde. Dann ist nämlich das in

                  session.save_path

                  angegebene Verzeichnis

                  /tmp/sessions/other

                  nicht mehr da und PHP legt es sich nicht selber an.

                  Also muss man die ini ändern und die Sessions anderswo ablegen.
                  Nur dann werden sie nicht mehr automatisch aufgeräumt beim Startvorgang.

                  Das müssen sie ja aber auch gar nicht, weil PHP entweder einen eigebauten GC hat oder aber den von Dir über den Cronjob geregelten. Der ist auch viel besser, als der alte, weil er den Interpreter nicht belastet und regelmäßig läuft.

                  Nun würde mich interessieren, welche PHP-Version Du auf welchem Linux mit welchem Apache (?) zusammen betreibst und wie Deine effektive INI-Einstellung lautet.

                  Wenn Du mir jetzt antworten solltest, dass das bei Dir der Provider macht, dann gehe ich eventuell doch noch in die Luft heute.

                  Soviel zum Thema Geduld mit Kindern und anderen lieben Leuten. :-)

                  Harzliche Grüße vom Berg
                  http://bergpost.annerschbarrich.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau
                  Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

                  1. Hi,

                    Aber wir haben ja bald Karneval, da wollt Ihr wohl schon ein bisschen üben. Ok, macht nur weiter so :-)

                    ich verstehe weiß Gott nicht, warum du dich jetzt angegriffen fühlst. Ich habe tatsächlich bei noch keiner Debian-Installation Probleme i.V.m. PHP gehabt, nur weil das tmp-Verzeichnis gelöscht wurde. Weißt du, ich mag dein Verhalten nicht besonders. Ständig musst du das letzte Wort haben und beschimpfst unterschwellig Leute, die dich deiner Meinung nach angreifen, z.B. als Ignorant. Ich greife dich nicht an, auch wenn du das glauben magst. Aber gut, das nur nebenbei, du wirst dir davon nichts annehmen und das ist mir auch egal. Allerdings fängt es nach nur zwei Tagen schon wieder an, mir keinen Spaß mehr zu machen. Wie auch immer - genug Selbstmitleid meinerseits - zu deinem Problem:

                    Dann ist nämlich das in

                    session.save_path

                    angegebene Verzeichnis

                    /tmp/sessions/other

                    nicht mehr da und PHP legt es sich nicht selber an.

                    Fakt ist mal eins: mir sagte "/tmp/sessions/other" spontan gar nichts und eine Google-Suche nach /tmp/sessions/other liefert genau ein relevantes Ergebnis und *Trommelwirbel* es ist ein Posting von dir. Da frage ich mich schon, wie das sein kann. Es scheint jedenfalls nicht der "Debian way" zu sein. Also wundere dich bitte nicht über etwaiges schräges Verhalten.

                    Nun würde mich interessieren, welche PHP-Version Du auf welchem Linux mit welchem Apache (?) zusammen betreibst

                    ein Beispiel:

                    $ php -v
                    PHP 5.2.0-8+etch7 (cli) (built: Jul  2 2007 21:46:15)
                    Copyright (c) 1997-2006 The PHP Group
                    Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies
                    $ cat /etc/issue
                    Debian GNU/Linux 4.0 \n \l
                    $ dpkg -l | grep 'apache2.2-common'
                    ii  apache2.2-common          2.2.3-4+etch1                       Next generation, scalable, extendable web se
                    $ dpkg -l | grep 'libapache2-mod-php5'
                    ii  libapache2-mod-php5       5.2.0-8+etch7                       server-side, HTML-embedded scripting languag

                    und wie Deine effektive INI-Einstellung lautet.

                    die für den garbage collector? Die ist bei mir unangetastet - also in der php.ini ist er deaktiviert. Die Session-Daten werden durch den vom Debian-Package vorgegebenen Cronjob gelöscht.

                    Gruß,
                    Andreas.

                    1. Hello,

                      ich verstehe weiß Gott nicht, warum du dich jetzt angegriffen fühlst.

                      Ich hab eben keinen Humor .-(

                      Nun würde mich interessieren, welche PHP-Version Du auf welchem Linux mit welchem Apache (?) zusammen betreibst

                      ein Beispiel:

                      $ php -v
                      PHP 5.2.0-8+etch7 (cli) (built: Jul  2 2007 21:46:15)
                      Copyright (c) 1997-2006 The PHP Group
                      Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies

                      Das ist identisch

                      $ cat /etc/issue
                      Debian GNU/Linux 4.0 \n \l

                      das auch

                      $ dpkg -l | grep 'apache2.2-common'
                      ii  apache2.2-common          2.2.3-4+etch1                       Next generation, scalable, extendable web se

                      ii  apache2.2-common                  2.2.3-4
                       Next generation, scalable, extendable web se

                      Hier gibt's eine Abweichung

                      $ dpkg -l | grep 'libapache2-mod-php5'
                      ii  libapache2-mod-php5       5.2.0-8+etch7                       server-side, HTML-embedded scripting languag

                      ii  libapache2-mod-php5               5.2.0-8+etch7                   server-side, HTML-embedded scripting languag

                      also auch identisch

                      Ist aber nicht alles gleich, das bedeutet für mich, dass die Pakete vermutlich aus unterschiedlichen Quellen kommen. Oder sehe ich das falsch?

                      Wieso gerade ich dann wieder in die Sch... greife, weiß ich allerdings auch nicht. Aber letztlich weiß ich dann wenigstens, woran es liegen kann, wenn es anderswo auch mal wieder nicht läuft :-|

                      und wie Deine effektive INI-Einstellung lautet.

                      Ich meinte die für den session.save_path

                      Aber da wirst Du dann wohl auch die haben, die Vinzenz hat   /var/lib/php5
                      Sowseit ich das jetzt verstanden habe, soll das jetzt Standard sein in dieser Kombination?

                      Noch ein paar Worte zum "letzten Wort und dass Du schon keine Lust mehr hast..."
                      Das tut mir allerings leid, wenn das diesen Eindruch hinterlasen hat.
                      Ich frage solange nach, bis ich meine, es nun verstanden zu haben und mir die Quintessenz merken zu können für den Rest meines Lebens.

                      Für den Frust bitte ich Dich um Entschuldigung.
                      Ich werde drüber nachdenken.

                      Harzliche Grüße vom Berg
                      http://bergpost.annerschbarrich.de

                      Tom

                      --
                      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                      Nur selber lernen macht schlau
                      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

    2. Hallo lieber Tom,

      Was unterscheidet dich denn von einem Newbie?
      Ist es dein Betriebsystem-uebergreifendes und auf Hochsprachen fixiertes Fachwissen?
      Oder sind es vielleicht deine OOP-Faehigkeiten?
      Oder deine ausserordentliche Faehigkeit dich permanent in Sackgassen zu manoevrieren?

      Achtung, bloß alles rhetorische Fragen..

      Zum Thema:
      Ich schließe mich da voll und ganz Christoph Schnauß an.
      Denn: Nur weil irgendeine konfigurierbare Pfadangabe einer - in Relation zu deinem Vorhaben - unbedeutenden
      Software auf das /tmp/-Verzeichnis verweist, moechtest Du tatsaechlich das komplette Debian-Temp-Handling
      abschaffen bzw. so umstrukturieren, dass es geradezu einem Missbrauch gleich zu stellen ist?

      Mein Schuh juckt.

      Gruss,
      TheTruth

  5. Hallo Tom,

    Bei meinem Debian-Testserver habe ich allerdings noch ein kleineres Problemchen. Er leert beim Hochfahren immer das Verzeichnis /tmp, schmeißt also alle darin angelegten Unterverzeichnisse nebst Dateien weg.

    wie Dir bis jetzt jeder gesagt hat, ist das kein Problem sondern ganz wünschenswert.

    Prinzipiell hätte ich ja nichts dagegen, aber es stört die mit /von Debian vertriebene PHP-Einrichtung. Die legt nämlich out-of-the-box als session.save_path "/tmp/sessions/others" fest, was dann freilich nach dem Leeren des /tmp-Verzheichnisses nicht mehr vorhanden ist.

    Das kann ich nicht nachvollziehen. Ich habe soeben eine Debian-Etch-Installation durchgeführt. Nichts für die Produktion, einfach Desktop, Webserver + Normales System.

    Ein Aufruf von phpinfo() sagt mir:

    PHP Version 5.2.0-8+etch7
    [...]
    session.save_path /var/lib/php5 (sowohl bei Local Value als auch bei Master Value)

    Wo bleibt nun Dein Problem?

    Nochmals: Ich habe nichts, gar nichts geändert, nur in /var/www/apache2-default/ eine phpinfo.php angelegt.

    Irgendwas musst Du falsch gemacht haben ...

    Freundliche Grüße

    Vinzenz

    1. Hello Vinzenz,

      Ein Aufruf von phpinfo() sagt mir:

      PHP Version 5.2.0-8+etch7
      [...]
      session.save_path /var/lib/php5 (sowohl bei Local Value als auch bei Master Value)

      Wo bleibt nun Dein Problem?

      Das ist merkwürdig.
      Bei dieser Version hier stand seit Anfang an "/tmp/sessions/other" drin

      Ich habe es damals nur registiert, ohne mich besonders darüber zu wundern, denn das "Problem" trat erst später auf, als ich keine Sessions starten konnte.

      Ist ja, nachdem man weiß, dass das /tmp-Verzeichnis beim Systemladen geleert wird, auch nicht verwunderlich. Vielleicht hätte ich das irgendwo nachlesen können... Änderungen von Debian Version Uralt auf Version 4.0, aber wer liest schon Manuals *haha*

      Und gewundert hat mich nun nur, dass in der PHP-Ini dieser Pfad drinstand.

      Das war ahlt so! Ich erkläre das auch gerne noch zwanzig Mal. Bis dahin gibt es aber bestimmt schon Debian 5.0 oder ich muss auf PHP 6.x updaten.

      Was mich aber intersssieren würde, wie ich nun nachträglich noch herausbekommen könnte, woher ich die PHP-Version gezogen habe. Die Quellentabelle für apt-get habe ich nämlich bestimmt schon viermal geändert.

      Es könnte Uni Clausthal gewesen sein.

      Nur nebenbei:
      Für ein shared Hosting müsste der von Dir genannte Pfad dann auch noch aufgesplittet werden. Einer für jeden Virtual Host. Das hat mich ja glauben lassen, dass das mit "sessions/other" angedeutet werden sollte... Der nächste hätte dann eben "sessions/domain_xyz" bekommen.

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)