IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP + Session + serveur dédié


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut PHP + Session + serveur dédié
    Bonjour à tous,

    Une petite question sur la configuration serveur (linux) au niveau des sessions PHP. Je tiens à dire que je n'y connais pas grand chose niveau serveur mais j'aimerais essayé de régler le problème.

    Jusqu'à présent, je travaillais sur un serveur qui attribuait à chaque session dans le dossier /tmp un user "nobody" à tout les fichiers de sessions.

    Mais nous sommes passé sur un autre serveur qui attribue maintenant un user différent par "espace web".

    Donc, si j'ouvre une session sur un site A et que j'essaye d'ouvrir une autre session sur un site B dans un nouvel onglet de firefox, j'ai une belle erreur (failed: Permission denied). Sur l'ancien serveur, je suppose que la session était écrasé ...

    J'ai vu sur ce site : http://cyberzoide.developpez.com

    qu'on pouvait attribuer un nom de session par application mais il est un peu trop tard pour moi vu que j'ai concu une volé de site sans me préoccuper de se problème puisque je ne le connaissais pas ...

    Que me recommandez-vous ? Quel config serveur adopter ?

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 121
    Points : 136
    Points
    136
    Par défaut
    Les sessions n'ont aucun rapport avec un quelconque "Permission denied".

    Attribuer un nom différent à chaque session est inutile car c'est le nom du cookie qui est important mais vu que c'est le même...
    Il te suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    session_name("COOKIE_NAME");
    ?>
    AVANT le session_start().

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Les sessions n'ont aucun rapport avec un quelconque "Permission denied".
    D'après ce que je comprend, c'est l'accès au cookie qui est refusé car il est déjà en cours d'utilisation.

    Merci pour ta réponse, c'est bon à savoir mais je recherche plutôt une solution côté serveur si possible ... ?

  4. #4
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    montre nous le message d'erreur en entier

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Warning: session_start() [function.session-start]: open(/tmp/sess_c7f21e4a3bd472e4075777e785bc1dbd, O_RDWR) failed: Permission denied (13) in /.../index.php on line 27

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/eurocare/www/admin/index.php:27) in /.../index.php on line 27

    Warning: Cannot modify header information - headers already sent by (output started at /.../index.php:27) in /home/eurocare/www/admin/index.php on line 32

    Warning: Unknown: open(/tmp/sess_c7f21e4a3bd472e4075777e785bc1dbd, O_RDWR) failed: Permission denied (13) in Unknown on line 0

    Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

  6. #6
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    ça ressemble à un problème de configuration du serveur donc ça ne vient pas du code
    quels sont les droits, propriétaire et groupe de "/tmp" ? et la même question pour le fichier de session

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    pour le dossier /tmp :

    Permissions : 1777
    Usager : root
    Groupe : root

    Pour les fichiers de session :

    Permissions : 0600
    Usager : Varie suivant l'espace web créé
    Groupe : users

  8. #8
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    quand tu parles de différents "espace web", il s'agit bien de noms de domaine différents ?

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Oui je parle bien de nom de domaine différent ou plutôt : "serveur virtuel"

  10. #10
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    A te lire je penses que tu as intéret a nous donner des éléments pour juger de la situation.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par carla-la-belle Voir le message
    1) le code session des sites A et B ...
    l'ouverture de session et son emplacement dans tes pages PHP
    un exemple de manipulation d'une valeur de session nimporte laquelle
    Je tiens à re-préciser que cela fonctionnait très bien sur mon ancien serveur !

    Par exemple, en tête de document :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    session_start(); 
    $_SESSION['login'] = $_POST['login'];
    Citation Envoyé par carla-la-belle Voir le message
    2) peux tu dire si chaque site a un vrais nom de domaine,
    et donc son propre DNS.
    Pour l'instant, je test directement sur l'adresse du serveur : http://ip/site

    Citation Envoyé par carla-la-belle Voir le message
    3) quand tu parles de test sur deux onglets pourais tu donner le libellé des erreurs. Car ceux que tu as donnés ressemblent a un probléme PHP d'un site, mais pas d'une tentative sur deux onglets, avec un conflit ou de cookies de session, ou sur le serveur.
    Je ne comprend pas ...
    Et toi, as-tu bien compris mon problème ?

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    1) Je te montrais un exemple de manipulation de session et non pas le traitement des données avant de l'insérer dans celle-ci

    2) Je ne suis pas en local ! Je travail avec un serveur dédié.

    3) Il n'a jamais été dit qu'un session_start() devait être indiqué à la 1ère ligne d'un document php MAIS bien en haut de script, avant toute sortie vers la page web ! C'est mon cas !

    Merci de vouloir m'aider mais je pense qu'on s'éloigne du problème ...
    Je pense qu'il faut voir du côté config serveur mais ce côté est obscure pour moi

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Je comprend mieux
    J'ai vérifié de se côté

    De plus, mes sessions fonctionnent correctement.
    C'est d'un site à un autre qui pose problème, sur le même navigateur.

    Un exemple :

    1) J'ouvre firefox et je vais sur le site A et je me connecte à mon panneau d'admin (par exemple).
    Une session est ouverte et créé un cookie de session sur le serveur avec comme user "A".

    2) J'ouvre un second onglet dans firefox et je vais sur le site B (hébergé sur le même serveur). J'essaye de me connecté au panneau d'admin(par exemple) et là, une rafale d'erreur listé plus haut dans ce post.
    Mon avis est que le serveur essaye d'écraser mon cookie de session mais n'y arrive pas car l'autre session est en cours dans l'autre onglet, sur le site A.

    3) Je me déconnecte du site A (Je détruit ma session).
    J'essaye de nouveau de me connecté sur le site B et là, ca fonctionne ...
    Le cookie de session est recréé avec comme user "B".
    Mais dans la logique présente, je n'arrive plsu à me connecter au site A.

    4) Si j'ouvre chacun des sites sur 2 navigateurs différents, aucun problème.

    Voilà, c'est un peu tordu tout ca, j'ai un peu de mal à m'y retrouver moi même ... Pour être un bon programmeur, il faudrait être aussi un bon gestionnaire de serveur et je ne le suis pas

  14. #14
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Points : 44
    Points
    44
    Par défaut
    Voilà, c'est un peu tordu tout ca, j'ai un peu de mal à m'y retrouver moi même ... Pour être un bon programmeur, il faudrait être aussi un bon gestionnaire de serveur et je ne le suis pas
    Non ce n'est pas tordu !! car on viens de voir cette nuit sur un autre sujet, concernant les sessions, que LES cookies de session étaient supprimés, non pas a la fermeture d'un onglet mais du navigateur.

    Et justement que si j'avais deux sites dans deux fenétres de navigateur (je dis bien le navigateur lancé deux fois) le cookies de l'une ou l'autre fenétre était viré dés fermeture d'une fenétre.

    C' est pas tordu ton explication c'est bien qu'onglet et fenétres ce n'est pas pareil !

    Bref la cette fois j'ais bel et bien tout faux, c'est bien le paramétrage de ton serveur qui coince ! Mais y as tu accés ?

    Si oui, peux tu me dire ce que tu as en PHP.INI a cet endroit
    je n'ais que celui de mon local pour le moment ...
    [Session]
    ; Handler used to store/retrieve data.
    session.save_handler = files
    ==========Et tout ce qui suit============================

  15. #15
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 121
    Points : 136
    Points
    136
    Par défaut
    Faut que tu changes le nom de chaque session (et donc du cookie) pour chaque site... ce dont j'ai parlé dans mon premier message.

    Pour les fichiers de session :

    Permissions : 0600
    Usager : Varie suivant l'espace web créé
    Groupe : users
    Normalement, l'user c'est www-data car c'est PHP qui créé les fichiers et cela avec l'user www-data.
    Et il y a aucun problème avec ça, à mon avis t'as touché à quelque chose (des droits sur des fichiers) sans savoir réellement ce que tu faisais.

  16. #16
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Bonjour,
    On ne peut pas créer 2 sessions différentes sur une machine (même navigateur), si le nom de variable est identique, en l'occurence "login".
    Le serveur constate qu'une session [login] est déjà lancée et forcemment il y a conflit.
    Généralement une session est lancée si aucune n'est active, et pour en ouvrir une nouvelle, la précédente doit être détruite.

  17. #17
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par alain31tl Voir le message
    Bjr,
    On ne peut pas créer 2 sessions différentes sur une machine (même navigateur),
    Absolument, mais permets moi pour d'autres visiteurs qui interpréteraient mal ce que tu écris de ne pas confondre quand tu dis:
    sur une machine (même navigateur),

    J'ais un site avec un portefolio qui retien sur quelle photo il est et en quelle taille si on fait F5 grace a une valeur de session

    Ce que tu dis et que chacun peut controler facilement, c' est

    1) Tout fermer
    2) j'ouvre mon navigateur je vais sur ce site et choisie une image et taille
    3) j'ouvre le même dans un deuxieme onglet j'ais la même image taille
    4) j'ouvre une deuxiéme fois mon navigateur et vais sur le site, il est sur la recherche d'images ...
    5 je controle en faisant F5 les 2 onglets ils sont toujours sur la bonne image

    C' était long a dire mais c'est ça la réalitée !

  18. #18
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    En effet, je précise :
    Ce qui est important de retenir, ce sont ces 3 aspects réunis :
    - Même machine
    - Même navigateur
    - session [login]
    Dans ce cas de figure, conflit assuré.

    Il y a pourtant une alternative, session_write_close()

    Mais l'utilisation de session_write_close() implique qu'une nouvelle session sera lancée sous un nom de variable different.
    Par exemple :
    Avant :
    session_name('login');
    Aprés :
    session_name('login_2');
    Donc pas forcemment pratique à gérer dans une application.

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Et il y a aucun problème avec ça, à mon avis t'as touché à quelque chose (des droits sur des fichiers) sans savoir réellement ce que tu faisais.
    Non, je n'ai rien touché côté serveur. Je ne m'y connait pas assez pour me risquer à faire n'importe quoi ...

    On ne peut pas créer 2 sessions différentes sur une machine (même navigateur), si le nom de variable est identique, en l'occurence "login".
    J'ai un peu du mal à le croire. Surtout que je n'avais aucun problème à ce niveau sur l'ancien serveur que j'utilisais.

    Imaginez une boite qui travaille avec un CMS sur serveur dédié.
    Un même client commande 3 sites différents.
    Donc var de session seront identique et un tel problème serait bien ennuyeux pour le client si il décide de mettre ces sites à jour en même temps ...

    Enfin voilà, je croyais que le problème serait plus simple à régler ...

  20. #20
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Citation Envoyé par lornkor Voir le message
    J'ai un peu du mal à le croire. Surtout que je n'avais aucun problème à ce niveau sur l'ancien serveur que j'utilisais.
    je confirme tes pensées, s'il y a plusieurs sites, les sessions sont bien séparées entre les différents domaines,c'est pour ça que je t'avais demandé si tu as des noms de domaines séparés

    Citation Envoyé par lornkor Voir le message
    Bonjour,

    Oui je parle bien de nom de domaine différent ou plutôt : "serveur virtuel"
    juste pour être sur, tu accèdes bien au site A avec une adresse http://siteA.com/... et au site B avec une adresse http://siteB.com/... ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Fonction mail.php et serveur dédié
    Par tom.dev dans le forum Serveurs (Apache, IIS,...)
    Réponses: 0
    Dernier message: 21/10/2014, 10h52
  2. Bug double session serveur dédié
    Par Clemaj dans le forum Langage
    Réponses: 1
    Dernier message: 28/10/2011, 08h53
  3. 1&1 php.ini sur serveur dédié
    Par hash95 dans le forum 1&1
    Réponses: 0
    Dernier message: 25/04/2008, 15h13
  4. Erreur php session() dans error.log serveur
    Par JoN28fr dans le forum Langage
    Réponses: 3
    Dernier message: 30/05/2006, 21h34
  5. [Mail] Serveur de mail en PHP sur serveur dédié
    Par dralik dans le forum Langage
    Réponses: 15
    Dernier message: 16/01/2006, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo