Kategorien
Development

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

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.