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 :

is_dir : errno=13 - Permission denied


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut is_dir : errno=13 - Permission denied
    Bonjour à tous,

    J'ai problème avec la fonction is_dir qui me renvois toujours faux sur un repertoire qui existe.

    Voici un script tout bete que j'ai fait pour debugger :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      if(is_dir('/home/arbo1/arbo2'))
      {
        print 'ok';
      }
      else
      {
        print 'nok';
      }
    Si je lance ce script en ligne de commande, cela me renvoi 'ok'.

    Si je lance ce script via un navigateur, cela me renvoi 'nok'.

    les repertoire arbo1 et arbo2 on les memes droits et propriétaire.

    Si je refais ce test avec /home/arbo1 seulement, cela marche dans les 2 cas

    Je sais qu'il y a deja eu des bugs de recenssés avec cette fonction, croyez vous qu'il sagissent de cela ici ?

    Ou alors il ya qqchose que je ne vois vraiment pas..

    En tous cas, merci a ceux qui tenteront de m'aider.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    le répertoire "arbo2" a peut-être des droits d'accès spéciaux ?

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Essaie avec file_exists() : si elle retourne TRUE, alors tu as soit is_dir() soit is_file()... Espérons

  4. #4
    Membre actif Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Points : 274
    Points
    274
    Par défaut
    Ou peut etre que tu n'as pas accès a la fonction is_dir...
    bloquée par l'hébergeur!

    Essaie file_exists ca marche bien ^^

  5. #5
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    Merci pour vos reponses.

    J'ai revérifié les droits/user/group des repertoire en question :

    Repertoire arbo1 :

    drwx------ 7 user1 group1

    Repertoire arbo2 :

    drwxrwxrwx 5 user1 group1


    Sinon, j'ai testé avec la fonction file_exists, cela a le meme comportement :

    - Fonctionne lorsque je lance le script en ligne de commande.

    - Lorsque je l'integre dans une appli afin de le tester sur un navigateur web :

    Warning: stat failed for /home/arbo1/arbo2 (errno=13 - Permission denied) in /home/arbo3/monScript.php on line 7.

  6. #6
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Un problème de chown, en ligne de commande ton bash a accès au répertoire en question mais pas le processus de apache (group www-data ?).

    Il te suffit donc d'adapter avec chown ou les droits avec chmod

  7. #7
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    Je suis sous une RedHat, dans mon httpd.conf j'ai ceci :

    User nobody
    Group users

    J'ai tester en faisant un chown -R noboby:users sur le repertoire en question, et rien n'y fait..

    Ce qui est vraiment byzarre, c'est que cela fonctionne pour mon repertoire /home/rep1 et pas pour le repertoire /home/rep1/rep2...

    Alors que rep1 et rep2 ont le meme propriétaire, le meme groupe, et le rep2 a meme + de droits que rep1...

    Je seche

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    essaye un "chmod o+r " sur le répertoire "arbo1"

  9. #9
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    J'ai fait

    J'ai retesté avec is_dir, et file_exists, c'est toujours pareil...

    En fait, aucune fonction liée au repertoire ne passe (ni meme chdir,opendir...)

    Merci malgrés tout

  10. #10
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    J'ai reussi à me débloquer, mais ma solution n'est pas top au niveau sécurité..

    (De plus, cela me fait penser que ce post est du coup dans la mauvaise partie puisqu'il correspond plus à une problème lié au paramétrage du serveur apache... je m'excuse auprés des modo )

    Voila, en fait j'ai modifié le httpd.conf de manière a ce que le user, et le group soient les mêmes que ceux des repertoires dans lesquels je souhaite travailler.

    Ce qui est trés byzarre, c'est que ma fonctionnalité qui pose problème sous Redhat, ne pause aucun problème sous Debian.

    Je pense donc que le problème viens plus d'un parametrage d'apache.

    J'ai comparé les 2 httpd.conf des 2 serveurs, de manière a les mettre à l'identique, et rien ne change.

    Il reste malgrés tout une différence dans les 2 httpd.conf :

    Sous Debian (qui marche):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    User nobody
    Group nogroup
    Sous RedHat (qui ne marche pas):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    User nobody
    Group users
    Quelqu'un aurait t'il une lueur d'idée ?

    Sinon tanpis, je prendrais ma solution pas top

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

Discussions similaires

  1. [Python 2.X] [Errno 13] Permission denied copie d'un fichier
    Par nekcorp dans le forum Général Python
    Réponses: 3
    Dernier message: 24/11/2014, 14h56
  2. IOError: [Errno 13] Permission denied
    Par Orange Mango dans le forum Général Python
    Réponses: 5
    Dernier message: 25/04/2010, 15h25
  3. IOError: [Errno 13] Permission denied: 'D:\\smog\\Export jo'
    Par jojo42000 dans le forum Général Python
    Réponses: 7
    Dernier message: 31/07/2008, 13h00
  4. permission denied
    Par HULK dans le forum Apache
    Réponses: 2
    Dernier message: 08/04/2004, 19h46
  5. [PostgreSQL]permission denied
    Par alex2205 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 13/02/2003, 13h27

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