session_start(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed

von in Development.

php

Diese Fehlermeldung kann unter Umständen bei PHP auf einem Ubuntu bzw. Debian System auftreten, wenn der sogenannte Session Garbage Collector aufgrund von falschen Berechtigungen nicht laufen konnte.

session_start(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13)

Auf Ubuntu / Debian System sollte ein separater Cronjob vorhanden sein, der diese Aufgabe übernimmt.
Das Problem tritt beim einfachen starten einer Session über “session_start()” auf. Hierfür gibt es zwei Lösungen, wobei die Zweite in meinen Augen die bessere Alternative ist.

Lösung 1 geht ganz schnell. Einfach ein “@” vor session_start() und schon kommt der Fehler nicht mehr.

@session_start();

Lösung 2 benötigt Zugriff auf die PHP.ini des Servers.
Meistens liegen zwei PHP.ini-Dateien vor. Eine für Apache2 (/etc/php5/apache2) und eine für das CLI (/etc/php5/cli). In beiden Ordnern liegt eine PHP.ini. Einfach mit einem Editor öffnen und folgenden Wert von “1″ (standardmäßig) auf “0″ setzen.

session.gc_probability = 0

Danach den Apache neustarten bzw. -laden.

Kommentar verfassen

  • (will not be published)