2009-09-28 11 views
3

J'ai récemment rencontré un problème et j'ai essayé de le résoudre sans aucune chance. Je suis, essayant de partager la session php sur plusieurs serveurs niveau php/apache sur tous les serveurs utilisant GlusterFS, cependant, bien que la session soit accessible sur tous les serveurs, la session ne sera pas transférée une fois que je toucherai un serveur différent. Je suis déconnecté.partager session php

Répondre

7

En général, quand les gens veulent utiliser l'équilibrage de charge, et ils veulent un utilisateur équilibré à plusieurs serveurs, ils stockent des sessions:

  • soit en utilisant une base de données, qui est accessible à partir de tous les serveurs web
  • ou en utilisant quelque chose comme memcached - qui est un serveur de cache distribué (et fonctionne vraiment bien quand vous voulez stocker ce type de données temporaires, et vous avez plusieurs serveurs qui ont besoin d'y accéder).

Je ne sais pas GlusterFS (j'ai en fait jamais entendu parler), mais j'ai vu des sessions stockées soit dans la base de données et memcached, et ceux qui travaillent très bien.

L'une de ces solutions ne vous convient-elle pas?

+0

+1. Vous devez utiliser votre propre gestion de session si vous développez pour un cluster de serveurs. –

+0

+1 Voici les approches éprouvées ici. À moins que OP ait une exigence bizarre dont il ne nous parle pas, il devrait suivre les conseils de Pascal. – timdev

+0

memcached l'a fait, merci. –