Session Ordner läuft voll

Tscherno

Gut bekanntes Mitglied
Habe eben eine Warnung meines Servers bekommen, dass die Platte vollläuft. Nach einer kurzen Suche bin ich drauf gestossen, dass der Session Ordner 75Gb gross ist!!!

Da sind so viele Dateien drin, dass ein rm * das liefert: /bin/rm: Argument list too long

Ich musste daher den Ordner löschen und neu anlegen. Gibt es irgendwo eine Konfigurationsoption für die Sessions oder ist hier was falsch konfiguriert bei mir oder muss ich mir nen Bereinigungsjob bauen?
 

david

Administrator
Mitarbeiter
16. Juli 2010
2.310
170
AW: Session Ordner läuft voll

Gibt es irgendwo eine Konfigurationsoption für die Sessions
Die gibt es: PHP: Laufzeit-Konfiguration - Manual


oder ist hier was falsch konfiguriert bei mir oder muss ich mir nen Bereinigungsjob bauen?
Normalerweise werden die Sessions nach Ablauf der gc_maxlifetime vom Garbage-Collector automatisch gelöscht.
Das funktioniert bei deiner Serverkonfiguration scheinbar nicht. Da du keine Infos zu deinem Server genannt hast, kann ich leider nicht mehr dazu sagen.
Vielleicht hilft dir das hier weiter: debianforum.de • Thema anzeigen - [gelöst] PHP Session Lifetime auf Debian verändern: Wie?
 

Tscherno

Gut bekanntes Mitglied
AW: Session Ordner läuft voll

OK mit dem Hinweis gefunden. Dachte ihr benutzt evtl ein eigenes Session-Handling. Debian hat den internen GC anscheinend deaktiviert:

; 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
;session.gc_probability = 0

cat /etc/cron.d/php5
# /etc/cron.d/php5: crontab fragment for php5
# This purges session files older than X, where X is defined in seconds
# as the largest value of session.gc_maxlifetime from all your php.ini
# files, or 24 minutes if not defined. See /usr/lib/php5/maxlifetime

# Look for and purge old sessions every 30 minutes
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete

Ist natürlich ungünstig wenn eine Anwendung die Session-Dateien wo anders Speichert...