[PHP] problème de droit ? avec fopen() ...
Résolu
chrisBzh
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
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
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
A voir également:
- [PHP] problème de droit ? avec fopen() ...
- Procès-verbal en droit français - Guide
- Image libre de droit gratuite google - Guide
- Easy php - Télécharger - Divers Web & Internet
- Remettre ecran droit - Guide
- Slash droit ✓ - Forum Programmation
13 réponses
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.
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.
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.
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 ?)
un chmod 666 sur mon fichier texte règle le problème (permission publiques en lecture/écriture !! ce n'est pas dangereux sa ?)
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 ^^).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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 !?
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 !?
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.
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.
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. " ?
Qu'entend tu quand du dis "il faut que ton script php appartienne bien à ton utilisateur. " ?
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.
Mais normalement, tu ne devrais pas avoir de soucis avec ça.