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 :

Configuration des sessions


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut Configuration des sessions
    Bonjour,
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php session_start();?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
    <html>
    <body>
    TEST
    </body>
    </html>
    On ne peut plus simple.
    Aucun autre fichier n'est utilise et il n'y a aucun caractere avant ou apres le code presente ci-dessus.
    Pourtant j'obtiens les warning suivants:

    Warning: session_start() [function.session-start]: open(/tmp/sess_bf67a035f4027dcf0e12bf98afde1d76, O_RDWR) failed: No such file or directory (2) in /index.php on line 1

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /index.php:1) in /index.php on line 1

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /index.php:1) in /index.php on line 1
    TEST
    Warning: Unknown: open(/tmp/sess_bf67a035f4027dcf0e12bf98afde1d76, O_RDWR) failed: No such file or directory (2) 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


    A noter que dans mon php.ini la valeur de session.save_path = /tmp.
    A noter aussi que si je cree manuellement un repertoire /tmp dans mon repertoire de travail il n'y a plus de message d'erreur alors qu'un repertoire cree a la racine ne change rien.


    J'avoue ne pas tres bien savoir dans quelle direction rechercher pour resoudre ce probleme.
    Merci d'avance pour votre aide.

  2. #2
    Membre actif Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    Quelques pistes :

    Il n'y a vraiment rien avant le code que tu donnes ?
    Ce message dis que des entêtes ont déjà étés générées (généralement par un echo ou un truc du genre) et le session_start se fait vraiment en tout début
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /index.php:1) in /index.php on line 1
    Sinon quel est l'environnement ? Linux ? Windows ? Apache/PHP dispose t'il bien des droits opur écrire dans le repertoire en question ( '/tmp/?' )
    A mon avis le chemin vers ton dossier n'est pas valide ou c'est un problème de droits !

  3. #3
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    L'environnement sur lequel j'obtiens ce resultat est mon serveur de production (linux).
    Sur mon serveur local windows +wamp pas de probleme tout fontionne.
    Il y a encore peu de temps tout fonctionait parfaitement sur mon serveur de prod.
    Dernierement j'ai installe Zend Framework puis desinstalle, c'est depuis ce moment que cela ne marche plus. Je pense que cela n'a pas grand chose a voir mais qui sait...
    Je confirme qu'il n'y a aucun texte avant ou apres le code que j'ai donne en exemple.
    Je ne dispose d'aucun moyen pour modifier mes droits sur mon serveur de production a moins d'utiliser .htaccess.
    Cependant, .htaccess n'est pas utilise dans mon exemple et n'a pas ete utilise lorsque tout fonctionnait.

  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
    Citation Envoyé par diagonale Voir le message
    Je ne dispose d'aucun moyen pour modifier mes droits sur mon serveur de production a moins d'utiliser .htaccess.
    dans ce cas il faut que tu demandes à l'administrateur du serveur où se trouve le répertoire temporaire que PHP peut utiliser
    GNAP !

  5. #5
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    Je viens de recevoir la reponse de l'administrateur du serveur. Il me conseille de creer un repertoire tmp dans le repertoire de travail soit : /monsite/tmp.
    Effectivement cela fonctionne mais cela me semble assez peu securisant de conserserver les identifiants de session dans le repertoire de travail.

    A noter que je dispose de 2 autres sites au depart du repertoire racine qui utilisent eux-meme les sessions et cela sans probleme et sans creer de repertoire /tmp.

    Y aurait-il un probleme du cote de monserveur de production ?

  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
    Citation Envoyé par diagonale Voir le message
    Effectivement cela fonctionne mais cela me semble assez peu securisant de conserserver les identifiants de session dans le repertoire de travail.
    pourquoi il y aurait un problème de sécurité ? qui d'autre peut lire ces fichiers temporaires alors qui ne le devrait pas ?
    GNAP !

  7. #7
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par diagonale Voir le message
    Bonjour,
    Je viens de recevoir la reponse de l'administrateur du serveur. Il me conseille de creer un repertoire tmp dans le repertoire de travail soit : /monsite/tmp.
    Effectivement cela fonctionne mais cela me semble assez peu securisant de conserserver les identifiants de session dans le repertoire de travail.
    A noter que je dispose de 2 autres sites au depart du repertoire racine qui utilisent eux-meme les sessions et cela sans probleme et sans creer de repertoire /tmp.
    Y aurait-il un probleme du cote de monserveur de production ?
    Assez incroyable qu'ils répondent ça ??
    normalement ta structure doit avoir ton tmp AVANT ton site et tu doit y avoir droit par ton FTP
    ainsi donc tu devrais avoir en FTP
    www/ ton site web
    tmp/ tes sessions
    binary_tmp/ etc ...

    Si non on peux capter les ID de sessions
    Mais tu dis un truc curieux !
    A noter que je dispose de 2 autres sites au depart du repertoire racine qui utilisent eux-meme les sessions et cela sans probleme et sans creer de repertoire /tmp.
    ça veut dire que par FTP tu fais comment ???

  8. #8
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    Peut-etre me suis-je mal exprime.
    La structure chez mon FAI est la suivante:

    /site1/...
    /site2/...
    /site3/...
    /tmp/...

    Les sites 1 et 2 fonctionnent pour les sessions.
    Le site 3 ne fonctionne pour les sessions que si je cree un /tmp soit: site3/tmp.

    A signaler que les identifiants de sessions crees dans site3/tmp ne s'effacent pas automatiquement apres utilisation.

    Le site 3 peut-il avoir ete configure autrement que les deux autres, si oui comment verifier voire modifier cela ?

  9. #9
    Membre actif Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    Si j'ai bien compris FoxLeRenard, un configuration "normale" se présente comme suit:
    -mon_repertoire_a_site
    |--www
    | |-- index.php
    | |-- css
    | |-- js
    | |-- images
    |--temp
    | |-- fichier_session_1
    | |-- fichier_session_2
    | |-- fichier_session_3
    |--scriptperso
    | |-- home
    | | |-- home.php
    | | |-- other_1.php
    | | |-- other_2.php
    | |-- authentification
    | |-- admin

    Tout ca pour dire que la config apache ne doit autoriser à l'utilisateur que l'acces au dossier www (dans mon exemple) en spécifiant le "DocumentRoot". Seul PHP doit pouvoir remonter la structure, et du coup tes session dans le dossier "temp" ne peuvent en aucun cas etres accessibles par l'internaute.

    Maintenant, pour répondre a la question, tu ne DOIS pas avoir ton tmp avec les sessions dans le repertoire de ton site accessible par l'internaute.
    Bref, que "temp" soit dans "site3" n'est pas un problème en soi, sauf s'il est au meme niveau que "index.php", car ca veut dire forcément qu'il peut etre atteint par un internaute.

  10. #10
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par bigltnt Voir le message
    Si j'ai bien compris FoxLeRenard, un configuration "normale" se présente comme suit:
    -mon_repertoire_a_site
    |--www
    | |-- index.php
    | |-- css
    | |-- js
    | |-- images
    |--temp
    | |-- fichier_session_1
    | |-- fichier_session_2
    | |-- fichier_session_3
    |--scriptperso
    | |-- home
    | | |-- home.php
    | | |-- other_1.php
    | | |-- other_2.php
    | |-- authentification
    | |-- admin
    OUI ET NON ... j'ais dis ça pour le temp par rapport au www
    par contre le tmp ne devrait pas avoir de sous répertoires !
    du reste quelque chose cloche chez diagonale c' est que si ça tombe les sites 1 et 2 ont bien le tmp que lui ne voit pas, puisqu' il ne voit que la racine de son site !! et alors quel paramétrage y at'il sur le serveur pour ce 3em site !
    Et puis le répertoire phpmysql il est ou

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Je vois pas trop ou est le problème en fait.

    Il est normal que le dossier de sessions soit dans le dossier du sous-domaine ou il sert.

    Théoriquement tous les dossiers parallèles à /www sont sensés représenter les sous-domaines de ton domaine (je sais pas si je suis clair là... )

    Par exemple une arbo
    |www
    |sd1
    |sd2

    donne quelque chose comme

    www.mondomaine.tld
    sd1.mondomaine.tld
    sd2.mondomaine.tld
    Pourfendeur de singletons en croisade

  12. #12
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Petibidon Voir le message
    Je vois pas trop ou est le problème en fait.
    Il est normal que le dossier de sessions soit dans le dossier du sous-domaine ou il sert.
    Théoriquement tous les dossiers parallèles à /www sont sensés représenter les sous-domaines de ton domaine (je sais pas si je suis clair là... )
    Non comlétement faux, sur 99% des serveurs les
    tmp de session et autres répertoires systemes sont au niveau du www !!
    Tout autre config est une faute grave de sécurité.

    D'autre part quand tu achétes trois nom de domaines ils sont tout les trois TLD que je saches
    Ce qui ne m'empéches pas de les faire pointer ou je veux.

    Alors pour t'aider a y voir clair, saches que le nom de domaine pointe toujours sur le serveur de ton hébergeur, et c'est lui qui envoie le visiteur ou ils veux et ou tu lui as dit d'aller.

    Par exemple j'ais personnellement 2 domaines TLD ils étaient l'un a Nice , l'autre a Marseilles.
    Je viens de les regrouper
    l'un est dans son %serveur%mondomaine1%www
    J'ais choisi de mettre le deuxiéme dans %serveur%mondomaine1%www/lautre/

    rien n'a changé, personne ne le vois bien sur et mon référencement reste impec ! n'empéche que les sessions sont bien en amont !

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Flute, mon hébergeur tombe dans le 1% restant alors

    A moins qu'on se soit mal compris. Je parle de sous-domaines d'un même nom de domaine.

    Chez Online par exemple (je sais, c'est sûrement pas le meilleur hébergeur du monde), la racine ne contient que les dossiers des sous-domaines (www est un sous-domaine) et chacun de ces sous-domaines doit définir un dossier pour le stockage des sessions.
    Pourfendeur de singletons en croisade

  14. #14
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Petibidon Voir le message
    Flute, mon hébergeur tombe dans le 1% restant alors

    A moins qu'on se soit mal compris. Je parle de sous-domaines d'un même nom de domaine.

    Chez Online par exemple (je sais, c'est sûrement pas le meilleur hébergeur du monde), la racine ne contient que les dossiers des sous-domaines (www est un sous-domaine) et chacun de ces sous-domaines doit définir un dossier pour le stockage des sessions.
    Oui tu est dans le cas ou l'hébergeur donne a un client, un espace
    avec sa structure dont son www/ et normalement il devrait a chacun de tes client a toi redonner le même espace, je t'expliques pourquoi,
    si un de tes client se fache avec toi il va demander son code login FTP !
    s' il sagit d'un sous code tu vois la faille ...
    Quand au tmp dans chaque domaine c' est pas glop !
    regardes si tu as installé en local easyphp tu vois bien que tmp estau niveau de www.

  15. #15
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    Je voudrais jeter un peu d'huile sur le feu en apportant un complement d'information et essayer de comprendre ce qui se passe chez mon hebergeur.

    Pour resumer, la structure chez mon FAI est suivante:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /site1/...
    /site2/...
    /site3/tmp/
    /tmp/...
    Disons que pour le moment j'ai cree un repertoire /tmp dans site3 pour que cela fontionne.

    La situation est la suivante :

    -Si j'ouvre une session dans site3 je peux lire l'identifiant de session dans /site3/tmp/.

    -Si j'ouvre un session dans site1 ou site2 je pensais que l'identifiant de session se trouverais dans le repertoire /tmp/ situe a la racine. Mais il n'en est rien, aucune trace. Alors ou est sauvegarde l'identifiant ???

  16. #16
    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 diagonale Voir le message
    -Si j'ouvre un session dans site1 ou site2 je pensais que l'identifiant de session se trouverais dans le repertoire /tmp/ situe a la racine. Mais il n'en est rien, aucune trace. Alors ou est sauvegarde l'identifiant ???
    pour savoir où sont stockées les fichiers de session, tu peux trouver l'information avec la fonction http://php.net/phpinfo
    GNAP !

  17. #17
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    Je viens de recevoir une reponse de mon FAI avec en resume la reponse suivante:

    Si le fichier index a une extension php (index.php) il faut creer un repertoire /tmp dans le repertoire du site.

    Si le fichier index a une extension html (index.html) il n'est pas utile de creer un repertoire /tmp.

    J'avoue etre extremement dubitatif face a cette reponse meme si, dans les faits, elle fonctionne.

    Je n'ai pas recu de reponse sur la raison pour laquelle cela fonctionne malgre tout avec un fichier index.php dans un des sites.

  18. #18
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par diagonale Voir le message
    Bonjour,
    Je viens de recevoir une reponse de mon FAI avec en resume la reponse suivante:
    Si le fichier index a une extension php (index.php) il faut creer un repertoire /tmp dans le repertoire du site.
    Si le fichier index a une extension html (index.html) il n'est pas utile de creer un repertoire /tmp.
    J'avoue etre extremement dubitatif face a cette reponse meme si, dans les faits, elle fonctionne.
    Je n'ai pas recu de reponse sur la raison pour laquelle cela fonctionne malgre tout avec un fichier index.php dans un des sites.
    Plus tordu que cela tu es mort
    la réponse de ton fai ? heu le FAI est celui qui te connecte a internet,
    l'hébergeur c'est le responsable du serveur , si c' est un site perso ça peut'étre le même ... mais bon ...

    index html pas besoin de tmp oui ouvrir une session en html jamais vu ça, alors oui pas besoins de tmp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Configuration du répertoire de stockage des sessions
    Par chouchouilloux dans le forum Langage
    Réponses: 3
    Dernier message: 08/03/2010, 13h30
  2. [Cookies] Configuration des sessions
    Par zuminatorusrexanus dans le forum Langage
    Réponses: 4
    Dernier message: 02/11/2007, 10h28
  3. [tomcat] gestion des sessions
    Par sebos63 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 12/10/2004, 14h25
  4. Configuration des disques sur un serveur pour Oracle
    Par hkhan dans le forum Administration
    Réponses: 5
    Dernier message: 29/09/2004, 12h57
  5. [JBUILDER 9][configuration des serveurs]
    Par bozo dans le forum JBuilder
    Réponses: 4
    Dernier message: 19/08/2003, 09h21

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