Page 1 sur 1

[Apache] Problème de création d'un fichier avec PHP (résolu)

Publié : mar. 25 sept. 2007, 11:15
par Tristelune
Salut à tous,

j'aimerais créer un fichier xml à l'aide de php, mais impossible de créer le fichier. Comme je ne comprends pas encore bien ce qui se passe, il se peut que je dise pas mal de bêtises.

Je fais un site internet et j'utilise Apache pour afficher mes pages internet. Pour créer le fichier .xml, j'utilise le code suivant:

Code : Tout sélectionner

<?php
.
.
.
$fp = fopen("news.xml", "w+");
fputs($fp,$xml);
fclose($fp);
?>
Ma variable $xml n'est pas vide et contient une chaîne de caractères. Si j'exécute mon script, le fichier n'est pas créé. Après quelques recherches, il me semble que le problème vienne des droits d'accès. Je développe mon site web dans mon home, genre /home/utilisateur/site_web/. L'adresse http://localhost/~user/ pour Apache correspond à /home/utilisateur/site_web/.
J'ai remarqué que si je donnais les droits 777 à utilisateur/ et site_web/ le fichier est créé et tout fonctionne comme il faut. Je me demande toutefois si c'est vraiment une bonne idée de donner l'accès 777 à ces deux répertoires. N'y a-t-il pas moyen de régler le problème autrement ?
En cherchant un peu avec Google, j'ai lu certaines choses sur les groupes apache et nobody, mais ce n'était pas très clair. Peut-on magouiller un truc avec un groupe apache ou je ne sais quoi ? Puis-je donner à Apache les mêmes droits que "utilisateur" ?

Merci!

Publié : mer. 26 sept. 2007, 22:34
par Tristelune
Après une bonne dose de Google, j'ai trouvé une solution qui me satisfait mieux. J'ai remarqué qu'Apache effectue les opération en tant qu'utilisateur nobody et appartient au groupe nobody. J'ai donc donné les droits 775 au répertoire dans lequel je voulais écrire le fichier et j'ai défini que ce répertoire appartient au groupe nobody. Du coup Apache peut me créer le fichier sans problème.

Mais le plus sympa est que ce que j'ai fait ne servait à rien. Je n'ai pas besoin d'écrire un fichier à l'aide de php pour faire ce que je veux...... Toujours sympa de réfléchir à quelque chose dont on a pas besoin. :cry:

Espérons que ça servira à d'autres!