Répertoire de session pour chaque site

Résolu
ADIL -  
 Laurent -
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.
Configuration: Windows XP
Apache 2.0.55
PHP 4
PHP 5
Mysql

2 réponses

  1. crabs Messages postés 909 Statut Membre 507
     
    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
  2. ADIL
     
    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
    1. Laurent
       
      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
      1. Laurent > Laurent
         
        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