2012-09-27 6 views
2

J'ai une application Symfony2 représentant une application reposante qui n'a pas besoin de sessions persistantes.Configurer Symfony2 pour ne pas stocker les données de session

Pour chaque requête envoyée à l'application, compte tenu de la configuration de session par défaut et du fait que le client ignore le cookie de session, un nouveau fichier de session est créé dans le chemin de sauvegarde de session par défaut app/cache/<env>/sessions.

L'application reçoit de nombreuses demandes par jour résultant en un très grand volume de fichiers de session indésirables. Courir rm -Rf app/cache/prod/session/* prend quelques minutes à compléter.

Je préférerais que l'application ne stocke aucune donnée de session.

J'ai essayé de placer la session de configuration de l'application chemin de sauvegarde à /dev/null ou /dev/null/sessions mais il en résulte une exception soit en raison du répertoire déjà existant (pour /dev/null) ou en raison du chemin d'accès spécifié n'étant pas un répertoire (pour /dev/null/<anything>).

framework: 
    session: 
     save_path: /dev/null 

Le meilleur que je peux voir que je peux faire la lecture de la session documentation est d'invalider la session, ce qui efface tous les attributs de session et regénère l'ID de session. Cela ne m'amène pas à un état où il n'y a pas de session et pas de fichier de session persistante. Puis-je demander à Symfony2 de ne stocker aucune donnée de session pour une demande?

Répondre

1

Vous pouvez définir votre propre gestionnaire de session et de remplacer l'alias de service session avec elle:

services: 
    session: 
     class: Path\To\Your\Session\Class 

Vous pouvez vérifier la mise en œuvre avec la classe standard de session Symfony\Component\HttpFoundation\Session\Session

Questions connexes