[PHP] problème de droit ? avec fopen() ...

Résolu/Fermé
chrisBzh Messages postés 13 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 27 juin 2007 - 27 juin 2007 à 09:35
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 27 juin 2007 à 14:24
Voila, j'ai un problème lorsque j'execute un script PHP depuis que j'ai hébergé celui ci chez mon hebergeur, ce script ecrit dans un fichier texte...
J'ai réaliseé mes tests en local et tout marche sans problème

J'ai donc:

Warning: fopen(log_version.txt): failed to open stream: Permission denied in /home/.sites/130/site44/web/php/ctr_version.php on line 65

Warning: fseek(): supplied argument is not a valid stream resource in /home/.sites/130/site44/web/php/ctr_version.php on line 66

Warning: fputs(): supplied argument is not a valid stream resource in /home/.sites/130/site44/web/php/ctr_version.php on line 67

Warning: fclose(): supplied argument is not a valid stream resource in /home/.sites/130/site44/web/php/ctr_version.php on line 68

Le fopen() est impossible donc l'enchainement des Warning est logique !
Ce que je ne comprend pas c'est que sur FileZila, on voit les droits sur les fichiers et pour ce fichier texte j'ai : rw- r-- r--
J'ai donc les droit d'écriture et de lecture...
Quel est le problème ? Merci

13 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 juin 2007 à 09:45
Salut,

Regarde si le fichier est bien dans le bon repertoire.
Teste si ton fichier appartient bien au même utilisateur que celui du script php.
Puis vérifie aussi les permissions avec le script.
if(posix_getpid() === file_owner('log_version.txt'))
       echo 'Même utilisateur';
else
       echo 'Pas le même utilisateur, (peut être juste le même groupe?)';

echo '<br/>';

echo sprintf('Permissions: %o', fileperms('log_version.txt'));


Ya juste un soucis, c'est que si les permissions du fichiers ne sont pas suffisantes, tu ne pourras pas connaître l'uid du fichier. Donc la comparaison peut te dire que tu n'as pas le même utilisateur alors qu'en fait c'est juste que tu ne peux pas le lire.

0
chrisBzh Messages postés 13 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 10:08
C'est bon j'ai résolu le problème en effet les permissions sur le fichier ne sont pas suffisantes

un chmod 666 sur mon fichier texte règle le problème (permission publiques en lecture/écriture !! ce n'est pas dangereux sa ?)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 juin 2007 à 10:14
Euh, avant tu avais 644 (rw-r-r)? Et ça ne marchait pas?
0
chrisBzh Messages postés 13 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 10:30
oui exactement... mais il faut savoir que le script PHP qui insert dans le fichier texte est lié a une appli WinDev, j'inscris les données lorsque le client lance son application (est ce qu'on peut parler de Spyware !! Super le projet qu'on m'a donné a faire ^^).
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 juin 2007 à 10:33
Ca y est je comprends plus rien :-D
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chrisBzh Messages postés 13 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 10:49
Ptet parce que je sais pas m'exprimer ^^, je me suis relu et je me suis compris ! lol, enfin bref... sa marche en 666 et pas en 644, mais laisser cet accès en écriture en public sa me plait pas trop :s
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 juin 2007 à 11:02
Ben c'est bizzare.
Mais qui lit ce fichier et qui l'écris? (entre le script php et windev).
0
chrisBzh Messages postés 13 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 11:21
Alors...
Le client lance son appli WinDev, une requête est alors envoyée au serveur web, cette requête execute un script PHP qui ouvre et ecrit dans le fichier texte.
Il faut donc une permission d'ecriture publique !?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 juin 2007 à 11:32
Non. Pas besoin.
Si lui seul écris dessus, pas besoin.
Il faut que ton fichier appartienne au même utilisateur que ton script php, et là un 644 est suffisant normalement.
Enfin, pour ça il faut que ton script php appartienne bien à ton utilisateur.
0
chrisBzh Messages postés 13 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 11:44
Je suis d'accord :) mais hum hum bizar que se 644 ne marche pas...
Qu'entend tu quand du dis "il faut que ton script php appartienne bien à ton utilisateur. " ?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 juin 2007 à 11:56
Chez un hebergeur, on te donne un utilisateur avec des droits limités. Il faut que les fichiers dans ton repertoire chez l'hebergeur aient tous le même uid (même propriétaire): le tien.
Mais normalement, tu ne devrais pas avoir de soucis avec ça.
0
chrisBzh Messages postés 13 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 12:06
Ouais, ok, mais comme tu dis, je n'est pas de soucis avec sa ! :)
0
chrisBzh Messages postés 13 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 27 juin 2007
27 juin 2007 à 14:03
bon bah problème résolu, j'arrive a mes fin (surement pas par la meilleure des facons ! ^^)
Merci beaucoup kilian ;)
un chmod 666 et sa repart !
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 juin 2007 à 14:24
Ma foi.... :-/
0