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 :

erreur de session suite au passage de php 4 a 5


Sujet :

Langage PHP

  1. #1
    Acropole
    Invité(e)
    Par défaut erreur de session suite au passage de php 4 a 5
    Bonjour,

    J'ai le message d'erreur suivant depuis le passage a php 5 :

    Warning: session_start() [function.session-start]: SAFE MODE Restriction in effect. The script whose uid is 1020 is not allowed to access /** owned by uid 0 in /**.php on line 2

    Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: Failed to initialize storage module: files (path: ) in /**.php on line 2

    voici une page de test qui retourne cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php session_start() ?>
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    </body>
    </html>
    <?php session_destroy() ?>
    Qu'est-ce que ça veut dire ?

    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Visblement un problème de droits pour accèder au repertoire de sessions.
    Il faudrait voir ça avec ton hébergeur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Acropole
    Invité(e)
    Par défaut
    D'aprés le manuel de php le safe mode à cet effet sur session_start() :

    Le propriétaire d'un script doit être le même que celui que celui du répertoire session.save_path si le répertoire par défaut session.save_handler est utilisé.
    or, chez mon hébergeur :

    session.save_handler = files
    session.save_path = no value

    je ne comprend pas ce que ça veut dire.

    Je dois créer un répertoire files ? Mais dans ce cas là il n'y a pas de propriétaire de no value !

    Ou alors il faut que je définisse un répertoire de session ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme je t'ai dit, le mieux est de voir avec ton hebergeur ce qu'ils ont prévu.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    Ton hébergeur ce ne serait pas free.fr ??

    Alors : http://php.developpez.com/faq/index....#sessions_free
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  6. #6
    Acropole
    Invité(e)
    Par défaut
    Non, c'est nFrance.

    J'aimerais bien avoir plus d'explications sur :
    session.save_path no value

    Si j'ai bien compris ça veut dire qu'il n'existe aucun dossier temporaire pour les session et donc qu'elle ne peuvent pas exister.

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    session.save_handler indique le nom du gestionnaire de sessions. Par défaut, PHP utilise des fichiers (gestionnaire connu sous le nom : files).

    session.save_path indique le répertoire où il va stocker les fichiers liés aux sessions. Par défaut (sans valeur), il cherchera à utiliser le répertoire temporaire système (/tmp sous Unixoïde par exemple). Sur un hébergement mutualisé, ça peut être problématique, en fonction de la configuration de PHP, puisqu'un emplacement partagé est susceptible de pouvoir être lu et/ou manipulé par n'importe qui. Il serait alors préférable de le redéfinir afin d'utiliser un répertoire situé dans votre propre espace : ini_set('session.save_path', 'nouveauChemin') ou session_save_path('nouveauChemin') (avant l'appel à session_start) - je doute que vous puissiez faire autrement.

    Ici c'est bien un problème de droit imputable à la fonctionnalité - obsolète - safe_mode (le fait que /tmp soit possédé par root empêche PHP lui-même d'aller y écrire ses fichiers). Tentez de le redéfinir justement.

  8. #8
    Acropole
    Invité(e)
    Par défaut
    avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    session_save_path("/sessions/");
    session_start();
    ?>
    j'ai l'erreur suivante :

    Warning: session_save_path() [function.session-save-path]: SAFE MODE Restriction in effect. The script whose uid is 1020 is not allowed to access / owned by uid 0 in /******/***.php on line 2

    Warning: session_start() [function.session-start]: SAFE MODE Restriction in effect. The script whose uid is 1020 is not allowed to access /var/tmp owned by uid 0 in /******/***.php on line 3

    Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: Failed to initialize storage module: files (path: ) in /******/***.php on line 3
    Apparemment la session est créée, mais je n'ai pas les droits d'accès en lecture/écriture. Donc le chemin est bon.

    Donc pas moyen non plus de modifier le save_path...

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Normal, votre chemin n'est pas valide et ne désigne pas un répertoire de votre propre espace.

    Si sessions est placé à la racine de votre espace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # relatif (à éviter) :
    session_save_path('sessions/');
    # absolu :
    session_save_path($_SERVER['DOCUMENT_ROOT'] . '/sessions/'); // (mais ne fonctionne pas dans tous les cas)
    Toutefois, il faudrait placer ce répertoire un niveau plus haut que la racine si cela est possible sinon au moins créer un fichier .htaccess dans celui-ci avec pour contenu :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Deny from all
    Satisfy All

  10. #10
    Acropole
    Invité(e)
    Par défaut
    Ok, ça marche en modifiant le CHMOD.

    Merci beaucoup !

    Edit : ben en fait non, c'est visiblement mon hébergeur qui s'est enfin décider à corriger le tir. Tous les scripts utilisant les sessions fonctionnent, même ceux que j'ai pas encore modifié...

    Mais merci quand même.

Discussions similaires

  1. [XL-2010] Erreur 1004 suite au passage a excel 2010
    Par giloo(94) dans le forum Conception
    Réponses: 12
    Dernier message: 22/06/2014, 09h48
  2. [MySQL] Erreur Catchable fatal error suite montée de version PHP
    Par dide12 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/09/2011, 09h51
  3. [Wamp] Erreur lancement de phpMyAdmin suite au passage de PHP 5.2.8 à 5.3
    Par arsene555 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 31/05/2010, 00h21
  4. Réponses: 2
    Dernier message: 04/03/2003, 23h24
  5. Pb BDE suite a passage en Windows 2000 pro
    Par ARIF dans le forum Paradox
    Réponses: 4
    Dernier message: 18/11/2002, 11h39

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