mouloudikhaled
Messages postés39Date d'inscriptionvendredi 2 novembre 2007StatutMembreDernière intervention28 février 2009
-
3 avril 2008 à 16:14
mouloudikhaled
Messages postés39Date d'inscriptionvendredi 2 novembre 2007StatutMembreDernière intervention28 février 2009
-
4 avril 2008 à 12:05
Bonjour a tous,
S'il vous plait. j'essaye de crée un dossier dans un dossier mais je n'y arrive pas.
Pouvez vous me dire comment dois-je procédé ?
Merci
cordialement
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 4 avril 2008 à 12:00
Salut,
Je me suis fait un compte chez cet hébergeur pour t'aider à trouver le problème. Et tu as raison, le problème vient bien de l'hébergeur.
Par défaut on dirait que les erreurs sont masqué (ce qui est ridicule, mais c'est leur choix) alors un ptit coup de error_reporting(E_ALL); nous montre que:
Warning: mkdir() [function.mkdir]:
SAFE MODE Restriction in effect. The script whose uid is 6546 is not
allowed to access /www/hostsnake.com/b/o/d/bodyno/htdocs/chemin owned
by uid 2001 in /www/hostsnake.com/b/o/d/bodyno/htdocs/test.php on line 5
Le problème est donc que Apache ne tourne pas sous le même utilisateur que le script php(ce qui arrivent quand l'hébergeur ne prends pas la peine d'utiliser des mesures pour évité ça, comme suphp, suexec, suid, ruid, et compagnie), ce qui fait que tu n'as pas accès aux fichiers n'ayant pas le même UID.
Pour résumé: ton script crée un dossier (chemin) ayant pour UID celui de apache (2001). Ensuite il essait de créer un dossier dedans celui la (chemin2) mais ton script lui tourne sur le UID de ton FTP (pour moi cétait 6546) alors php lui refuse l'accès au dossier chemin puisqu'il a un UID 2001..
Le Safemod est une plaie et n'aurais jamais dû exister, il est utile que dans le cas d'une paresse (ou une incompétence) de l'hébergeur, mais bon ça c'est un autre débat
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org
mkdir() tente de créer un dossier dans le chemin pathname.
Tu aurais à préciser le mode en base octale, ce qui signifie que tu auras probablement un 0 comme premier chiffre. Le mode sera aussi modifié par le umask courant, que tu peux modifier avec la fonction umask().
Le paramètre mode est ignoré sous Windows, et il est devenu optionnel depuis PHP 4.2.0.
Le mode par défaut est le mode 0777, ce qui correspond au maximum de droits possible.
Exemple
<?php
mkdir ("/chemin/de/mon/dossier", 0700);
?>
mouloudikhaled
Messages postés39Date d'inscriptionvendredi 2 novembre 2007StatutMembreDernière intervention28 février 2009 3 avril 2008 à 17:08
Merci nicomilville.
Je connais cette fonction, j'ai essayé, mais en créant deux dossiers en même temps, voici mon script :
<?php
mkdir("chemin",0777);
mkdir("chemin/chemin2",0777);
?>
Le dossier 'chemin' se crée normalement, mais le deuxième dossier 'chemin2' ne se crée pas dans le dossier 'chemin'.
Merci
mouloudikhaled
Messages postés39Date d'inscriptionvendredi 2 novembre 2007StatutMembreDernière intervention28 février 2009 3 avril 2008 à 17:37
Pareil !!
Je pense que c'est la configuration de l'hébergeur qui n'est pas Bien, parce que j'ai essayé normalement avec d'autres hébergeurs et ça marche très bien.
Vous n'auriez pas une autre idée SVP ?, car j'aimerai tellement rester sur cet hébergeur.
Merci beaucoup
Ceci dit il fauderait qu'on voit les messages d'erreurs qu'il te sort. Et tout au long de mon message je suppose que chemin n'existe pas, parce que si il existe et qu'il appartient à quelqu'un d'autre alors forcément le problème est la...
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org
mouloudikhaled
Messages postés39Date d'inscriptionvendredi 2 novembre 2007StatutMembreDernière intervention28 février 2009 4 avril 2008 à 11:13
Salut yoman64
Merci pour la doc, mais je l'avais déjà vu avant de déposer l'article :D
J'ai essayé ce que tu ma dit mais ça ne veux tjr pas fonctionné :(
Si je mets cette fonction :
mkdir("chemin",0777);
Le dossier se crée normalement avec tous les droits possibles.
Comme Je l'ai déjà dit au début, Je pense que le problème viens de la configuration de l'hébergeur. Voici le lien de l'hébergeur, il est gratuit : http://hostsnake.com