Répertoire de session pour chaque site

Résolu/Fermé
ADIL - 18 janv. 2006 à 18:32
 Laurent - 3 déc. 2008 à 11:14
Bonjour tout le monde

J’ai un serveur web apache qui héberge (localement) plusieurs sites web en utilisant des hôtes virtuels.
Ce que je veux c'est mettre un répertoire de session défirent pour chaque site web.
Pouvez-vous m'aider?

Merci.
A voir également:

2 réponses

crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 507
18 janv. 2006 à 22:54
Salut,

Regardes cette page : comment PHP trouve le php.ini
http://www.php.net/manual/fr/configuration.php
Puis celle là (les variables utilisées par le gestionnaire de sessions) :
http://www.php.net/manual/fr/ref.session.php
Dans le cas de l'utilisation de PHP en module, tu peux modifier dans le
fichier apache la configuration de certaines variables :
http://www.php.net/manual/fr/configuration.changes.php#configuration.changes.apache

A+, crabs
0
Merci Crabs.
Ce que je veux faire c'est mettre un répertoire de session pour chaque site web (virtualHost).
La solution que j'ai trouvée est simple et bonne je la poste ici pour aider les autres qui ont le problème que moi.

Il faut tout simplement ajouter cette ligne
php_value session.save_path d:/Home/site1/session
entre <virtualhost> et </VirtualHost>.

Exemple :

<VirtualHost>
ServerAdmin admin@site1.ma
DocumentRoot D:/Home/site1/www
ServerName www.site1.ma
php_value session.save_path d:/Home/site1/session
<VirtualHost>

Merci une deuxième fois.
0
Je remonte du vieux post, je sais, mais bon...

Je me retrouve coincé :
Je ne peux pas utiliser php_value car PHP n'est pas installé en tant que module sur Apache (et je veux que ça reste ainsi). J'ai des problèmes de conflits entre mes différents sites, chacun gérés par un utilisateur différent. Pour plus de clarté j'ai les sites :

/home/util1/www/monsite
/home/util2/www/monsite

Si je lance monste avec l'utilisateur 1, il enregistre des variables de sessions. Si ensuite j'essaye d'accéder à monsite via l'utilisateur 2 (chaque site est lié a un vhost) il me plante car la variable de sessions qui existe déjà appartient à l'utilisateur 1 et ne peut donc être modifié...

Quelqu'un aurait-il une solution ?
0
Laurent > Laurent
3 déc. 2008 à 11:14
Au cas où cela puisse servir à quelqu'un, j'ai trouvé une solution afin de pouvoir différencier les variables de session en fonction du vHost avec l'utilisation de suPHP (PHP en CGI) :

<VirtualHost 10.10.10.10:8081>
DocumentRoot /home/site1/www
ServerName www.site1.com
suPHP_ConfigPath /home/site1/config_serveur
</VirtualHost>
<VirtualHost 10.10.10.10:8082>
DocumentRoot /home/site2/www
ServerName www.site2.com
suPHP_ConfigPath /home/site2/config_serveur
</VirtualHost>

config_serveur contenant un fichier php.ini spécifique.

Aussi il m'a suffit de changer le session.name pour obtenir des noms de sessions différents en fonction du site. J'en ai profité aussi pour avoir un log d'erreur par site... ça peut être extrêmement pratique, notamment dans le cadre de développement afin de permettre à chaque développeur de tester des configs différentes dans le php.ini
0