Vous obtenez une erreur failed to open stream

Transcription

Vous obtenez une erreur failed to open stream
Vous obtenez une erreur failed to open stream
Écrit par Webmestre
Vendredi, 07 Octobre 2005 00:46 - Mis à jour Vendredi, 07 Octobre 2005 00:46
Si vous obtenez une erreur du type :
Warning: copy(exercice/exo/index.html): failed to open stream: Permission denied in
/var/www/html/monsite/sequane26/prof_ajout.php on line 25
lorsque vous mettez en ligne un exercice ou créez un professeur, cela signifie que les
permissions dont vous disposez sur votre serveur ne vous donnent pas les droits d'écriture
dans le dossier cible. La valeur de ces droits est identifiée par trois chiffres qui correspondent
au droits de 3 types d'utilisateurs.
Le 1er chiffre définit les droits du propriétaire du fichier
Le 2e chiffre définit les droits du groupe
Le 3e chiffre définit les droits des autres utilisateurs.
Une permission de lecture vaut 4, une permission d'écriture vaut 2, une permission
d'éxécution 1. Ces valeurs se cumulent de la manière suivante :
Lecture seule= 4
Lecture+écriture= 4+2 =6
Lecture+écriture+exécution= 4+2+1 =7
Ainsi, des droits de 644 signifient que le propriétaire du fichier pourra lire et écrire un fichier, le
groupe et les autres ne pourront que le lire.
Changer la permission sur un répertoire ou un fichier se fait par l'intermédiaire d'un client FTP
et s'appelle aussi chmod, du nom de la commande Unix/Linux qui permet de modifier ces
droits.
Par défaut, Séquane tente de modifier ces droits pour permettre l'écriture le temps de la mise
en ligne, puis revenir à des permssions moins élevées. Il est possible que les valeurs des
droits posent problème sur votre hébergeur qui n'acceptera peut-être que des droits moins
élevés.
Il convient donc que vous testiez ou que vous demandiez à votre hébergeur quelle valeur est
possible.
NB : Chez l'hébergeur free.fr, les droits maximums sont de 700, il n'est pas possible de les
changer.
Les lignes qui contrôlent les droits dans Séquane sont les lignes contenues dans les fichiers
prof_ajout.php et ajouter_exo_suite.php
Les lignes à modifier pour les adapter à vos besoins sont les suivantes :
Dans prof_ajout.php
mkdir($rep,"0777");
(tente de créer un répertoire avec les permissions au maximum)
chmod ("exercice/".$login1, 0777);
(ouvre le répertoire du professeur avec les permissions au maximum)
ajout_exo_suite.php :
chmod ("exercice"."/".$auth[0], 0777);
1/2
Vous obtenez une erreur failed to open stream
Écrit par Webmestre
Vendredi, 07 Octobre 2005 00:46 - Mis à jour Vendredi, 07 Octobre 2005 00:46
ouvre le répertoire exercice du professeur en écriture
$rep = "exercice/".$auth[0]."/".$chemidx;
mkdir($rep,"0777");
crée le répertoire de l'exercice dans le dossier du professeur avec les permissions maximales.
chmod ("exercice"."/".$auth[0], 0755);
chmod ("exercice"."/".$auth[0]."/".$chemidx, 0755);
ferme le répertoire de l'exercice, du professeur et de l'exercice en écriture
2/2