jeudi 31 mai 2012

PHP session garbage collection

Si comme moi tu es déjà tombé(e) sur le message suivant :
Notice: session_start() [function.session-start]: ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13) in ......./script.php line 83
Pas de panique... après m'être penché sur le sujet, je me suis rendu compte que PHP tentait de purger des anciens fichiers de sessions alors qu'il n'en a pas le droit.

Pas de soucis, par défaut, sous ubuntu, le problème est réglé en confiant cette tache a root, toutes les 30 minutes, via une tache programmée.
$ 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

Donc si tu es sous ubuntu, il suffit de gentiment dire a PHP de ne plus s'occuper de cette tache,
# vi /etc/php5/apache2/php.ini
en modifiant la valeur de session.gc_probability = 1 par session.gc_probability = 0 (comme suit) :
; Defines the probability that the 'garbage collection' process is started
; on every session initialization. The probability is calculated by using
; gc_probability/gc_divisor. Where session.gc_probability is the numerator
; and gc_divisor is the denominator in the equation. Setting this value to 1
; when the session.gc_divisor value is 100 will give you approximately a 1% chance
; the gc will run on any give request.
; Default Value: 1
; Development Value: 1
; Production Value: 1
; http://php.net/session.gc-probability
; session.gc_probability = 1
session.gc_probability = 0

vendredi 11 mai 2012

Ubuntu-Party du 12 au 13 mai 2012 à Paris

Conférences (salle Agora)

Agrandir le plan

Samedi

11h00 - Introduction à Ubuntu par Frédéric Mandé
12h00 - Quoi de neuf dans Ubuntu 12.04 LTS ?
12h30 - Ubuntu pour l'entreprise par Robin-Charles Koechlin
13h30 - Les projets frères de Wikipédia par David Crochet
14h30 - Le Libre au delà du logiciel par Pierre-Yves Gosset
15h30 - Le Libre appliqué à l'électronique par Samuel Lesueur
16h00 - Le Libre appliqué au vivant par Valentin Lacambre
17h00 - Le brevet unitaire tue le Libre par Gérald Sédrati-Dinet
18h00 - Les formats ouverts par Thierry Stœhr

Dimanche

11h00 - Introduction à Ubuntu par Frédéric Mandé
12h00 - L'actualité d'Ubuntu
13h00 - Ubuntu au théâtre de l'Odéon par Sylvain Cardine
13h30 - Jouer sous Ubuntu par Sébastien Bernery
14h00 - Des sites et des logiciels accessibles par Armony Altinier
14h30 - Ubuntu-fr.org par Olivier Fraysse
15h00 - LinuxFr.org par Benoît Sibaud
16h00 - Candidats.fr par Jeanne Tadeusz
17h00 - Neutralité du Net, une nécessité par Benjamin Bayart

Initiation (samedi ET dimanche)

11h30 - Découvrir la ligne de commande par Vincent-Xavier Jumel en salle Atelier
12h30 - Premiers pas dans Ubuntu par Frédéric Mandé en salle Atelier
12h30 - Contribuer à OpenStreetMap par Christian Quest en salle Kiosque
13h30 - Maîtriser Ubuntu par Ubuntu-fr en salle Atelier
13h30 - Contribuer à Ubuntu par Philippe Cortez en salle Kiosque
14h30 - Découvrir la ligne de commande par Ubuntu-fr en salle Atelier
14h30 - Premiers pas dans Ubuntu par Rudy André en salle Kiosque
15h30 - Migrer vers Ubuntu en toute simplicité par Ubuntu-fr en salle Atelier
15h30 - Maîtriser Ubuntu par Quentin Dexheimer en salle Kiosque
16h30 - Initiation à la programmation avec Python par Vincent-Xavier Jumel en salle Atelier
16h30 - Contribuer à Ubuntu par Philippe Cortez en salle Kiosque

Ateliers (salles EF)

Samedi

14h00 - Initiation à la récupération de données, où s'arrêter ? par Rémy SABATIER
14h00 - Premiers pas avec OrgMode par Thierry Stœhr

Dimanche

14h00 - Initiation à la récupération de données, où s'arrêter ? par Rémy SABATIER
15h00 - Sous-titrer vos vidéos avec Universal Subtitle par Armony ALTINIER