Previous Thread
Next Thread
Print Thread
Rate Thread
#284702 04/05/2005 4:24 PM
Joined: Feb 2004
Posts: 182
Member
Member
Joined: Feb 2004
Posts: 182
Hallo,
in Sessions Verzeichnis werden ja Dateien abgelegt die für ne Art Cookies dienen, aber warum werden diese Dateien vom Server nicht mehr gelöscht? So komme ich pro Tag auf ca. 1MB Daten-Zuwachs auf dem Server! Gibt es da schon eine Fehlerlösung oder sollte ich auf die 6.5.1.1 Version updaten? 6.5.1 läuft ja gerade bei mir.

Sponsored Links
Joined: Jul 2001
Posts: 808
Coder
Coder
Joined: Jul 2001
Posts: 808
Die Sessions Files sollte der Server nach inaktivität selber löschen. Ich habe das bei mir kontrolliert und das klappt auch. Das die Session Files gelöscht werden kann man mit dem 'Sprachenumschaltbug' leicht nachvollziehen.

Wie sind die Rechte für das Verzeichnis und wo liegt es ? Im Webroot oder außerhalb ? Welche Rechte haben deine erzeugten Dateien? Bei mir haben die Session Files 600 und das Verzeichnis selber 755.

Zwischen 6.5.1 und 6.5.1.1 hat sich nichts an den Sessionshandling geändert.

Last edited by Zarzal; 04/06/2005 8:38 AM.
Joined: Feb 2004
Posts: 182
Member
Member
Joined: Feb 2004
Posts: 182
Hallo Zarzal,
Ich bin bei HostEurope und es klappt nicht!! Das habe ich noch von HostEurope als Antwort bekommen: "Offensichtlich funktioniert Ihr garbage-collector (wenn vorhanden) nicht." []https://www.ubbdev.com/forum/images/icons/question.gif[/] Der Witz ist, bis vor einem halben Jahr hat alles gefunzt! Die Session Dateien haben bei mir auch Rechte 600, dass Verzeichnis aber 777.

Joined: Jul 2001
Posts: 808
Coder
Coder
Joined: Jul 2001
Posts: 808
[]"Offensichtlich funktioniert Ihr garbage-collector (wenn vorhanden) nicht." [/]

Da verließen sie mich dann ... Ich kann dir nur sagen das es bei mir auf einem Zeus Server einwandfrei geht. Ich habe einen kompletten virtuellen Server mit Zugriff oberhalb des Webroots. Stell mal deine Anfrage bei Infopop.

Joined: Feb 2004
Posts: 182
Member
Member
Joined: Feb 2004
Posts: 182
Das habe ich zum garbage-collector gefunden

[] In Java gibt es kein Gegenstück zum new-Operator, der ein Objekt wieder entfernt. Auch Destruktoren im Sinne von C++ gibt es in Java nicht. Anstelle expliziter Freigabe von Objekten besitzt Java einen Mechanismus, der sich automatisch darum kümmert: der Garbage Collector. Der Garbage Collector läuft in einem Hintergrund-Thread und ermittelt diejenigen Objekte, auf die nicht mehr verwiesen wird. Diese Objekte werden markiert und danach in einem zweiten Durchgang entfernt.

Der Garbage Collector läuft gleichzeitig mit dem Programm mit niedriger Priorität im Hintergrund. Er kann aber auch vom Programmierer über den Aufruf
System.gc();

gestartet werden. Die explizite Anforderung des Garbage Collectors sollte aber in Fällen unterbleiben, in denen das Programm zeitkritische Operationen ausführt, da der Garbage Collector eine Weile benötigt, um seine Arbeit zu verrichten. Ferner garantiert auch die explizite Anforderung nicht, dass ein Objekt tatsächlich abgeräumt wird. [/]

Sponsored Links
Joined: Jul 2001
Posts: 808
Coder
Coder
Joined: Jul 2001
Posts: 808
Das hat aber nichts mit deinem Board zu tun und bezieht sich auf eine Anwendung auf deinem Rechner die unter Java laufen würde Was ein Garbage Collector selber ist, weiss ich schon, aber wie das in Threads realisiert ist weiss ich nicht. Jedenfasll nicht in Java, das ist sicher.

Joined: Dec 2000
Posts: 1,471
Addict
Addict
Offline
Joined: Dec 2000
Posts: 1,471
Mit dem Garbage collector ist der Mechanismus gemeint, der die alten Session-Dateien nach einer bestimmten Zeit automatisch löscht. Das wird normalerweise direkt von PHP gemacht, ohne das man irgendetwas machen muss.

Ein Update auf 6.5.1.1 sollte das Problem nicht lösen, da es ein Sicherheits-Update ist, solltest du das aber unabhängig davon tun.

Verwendest du für das Login Cookies oder Sessions?
Wie ist der Pfad zu deinem Session Verzeichnis?
Welche Rechte hat der Benutzer, mit dem dein Webserver läuft, auf diesem Verzeichnis?
Was für ein Betriebssystem hat der Server?

Joined: Feb 2004
Posts: 182
Member
Member
Joined: Feb 2004
Posts: 182
In welcher Zeit sollte PHP das machen?
Für das Forum verwende ich ich die Cookies.
Das Session Verzeichnis ist mit im Forum Verzeichnis.
Die Rechte zum Verzeichnis sind 777.
Server OS: Linux 2.6.10-as3-he-as3.piii.4gb.1
HTTP Server: Apache/1.3.31 (Unix) FrontPage/5.0.2.2635 PHP/4.3.10
PHP Version: 4.3.10 (Zend: 1.3.0)
Noch etwas vergessen?

Joined: Dec 2000
Posts: 1,471
Addict
Addict
Offline
Joined: Dec 2000
Posts: 1,471
Das wird über einen Konfigurationsparameter von php geregelt.
Falls du keinen Zugriff auf die php.ini Datei hast, kannst du das auch mittels einer .htaccess Datei setzen.

Der Parameter lautet: session.gc_maxlifetime
Anzugeben ist eine Zeit in Sekunden, nach der die Session-Datei gelöscht werden soll.

Wenn du dir mal phpinfo() ausgeben lässt, solltest du auch sehen können, was für ein Wert da momentan eingetragen ist.

Joined: Feb 2004
Posts: 182
Member
Member
Joined: Feb 2004
Posts: 182
Das steht in meiner phpinfo drin

Code
 session<br />Session Support  enabled  <br />Registered save handlers  files user  <br /><br />Directive Local Value Master Value <br />session.auto_start Off Off <br />session.bug_compat_42 On On <br />session.bug_compat_warn On On <br />session.cache_expire 180 180 <br />session.cache_limiter nocache nocache <br />session.cookie_domain no value no value <br />session.cookie_lifetime 0 0 <br />session.cookie_path / / <br />session.cookie_secure Off Off <br />session.entropy_file no value no value <br />session.entropy_length 0 0 <br />session.gc_divisor 100 100 <br />session.gc_maxlifetime 1440 1440 <br />session.gc_probability 0 0 <br />session.name XTCsid PHPSESSID <br />session.referer_check no value no value <br />session.save_handler user files <br />session.save_path /tmp /tmp <br />session.serialize_handler php php <br />session.use_cookies On On <br />session.use_only_cookies Off Off <br />session.use_trans_sid On On <br /> 

Sponsored Links
Joined: Dec 2000
Posts: 1,471
Addict
Addict
Offline
Joined: Dec 2000
Posts: 1,471
Da haben wir die Ursache:
session.gc_probability 0 0

Das sollte auf 1 stehen.
Aus der PHP Manual:

session.gc_probability integer

session.gc_probability wird in Verbindung mit session.gc_divisor dazu verwendet, die Wahrscheinlichkeit zu regeln, mit der die gc (garbage collection) Routine gestartet wird. Grundeinstellung 1. Siehe auch session.gc_divisor.
session.gc_divisor integer

session.gc_divisor definiert gekoppelt mit session.gc_probability die Wahrscheinlichkeit, mit der die gc (garbage collection) Routine bei jeder Initialisierung einer Session gestartet wird. Die Wahrscheinlichkeit errechnet sich aus gc_probability/gc_divisor. 1/100 bedeutet z.B., dass die GC-Routine bei jeder Anfrage mit einer Wahrscheinlichkeit von 1% gestartet wird. Grundeinstellung 100.

Joined: Feb 2004
Posts: 182
Member
Member
Joined: Feb 2004
Posts: 182
Danke für den Tipp.


Link Copied to Clipboard
Donate Today!
Donate via PayPal

Donate to UBBDev today to help aid in Operational, Server and Script Maintenance, and Development costs.

Please also see our parent organization VNC Web Services if you're in the need of a new UBB.threads Install or Upgrade, Site/Server Migrations, or Security and Coding Services.
Recommended Hosts
We have personally worked with and recommend the following Web Hosts:
Stable Host
bluehost
InterServer
Visit us on Facebook
Member Spotlight
Bill B
Bill B
Issaquah, WA
Posts: 87
Joined: December 2001
Forum Statistics
Forums63
Topics37,573
Posts293,925
Members13,849
Most Online5,166
Sep 15th, 2019
Today's Statistics
Currently Online
Topics Created
Posts Made
Users Online
Birthdays
Top Posters
AllenAyres 21,079
JoshPet 10,369
LK 7,394
Lord Dexter 6,708
Gizmo 5,833
Greg Hard 4,625
Top Posters(30 Days)
Top Likes Received
isaac 82
Gizmo 20
Brett 7
WebGuy 2
Morgan 2
Top Likes Received (30 Days)
None yet
The UBB.Developers Network (UBB.Dev/Threads.Dev) is ©2000-2024 VNC Web Services

 
Powered by UBB.threads™ PHP Forum Software 8.0.0
(Preview build 20221218)