Aller au contenu

erreur de script fopen


Sujets conseillés

Posté

Voila en tranferant un script sur mon nouveau serveur j'ai un script qui ne fonctionne plus, sans donner la moindre erreur. Le probleme est qu'il ne créé

plus le fichier txt.

J'utlise sous la forme:

$fp = fopen("kelkoo.txt", "w+");

Et j'ai les memes autorisations que sur l'ancien site.

J'ai essayé la forme

http://cartouche.biz/adm/kelkoo.txt

et /home/cartouch/www/adm/kelkoo.txt

sans succes. Merci de votre aide B)

Posté

Jean Pierre,

Comme tu as passé ton site sur serveur dédié, il y a vraisemblablement une différence au niveau de l'utilisateur sous lequel tourne Apache (nobody).

Si ton fichier est créé par PHP et que celui-ci tourne en module Apache, il hérite ses droits d'Apache.

A partir de là, deux options se présentent:

  • le fichier existe, et a donc un propriétaire autre que "nobody" et des droits d'écritures limités au propriétaire: dans ce cas Apache ne peut pas écrire dans ce fichier.
  • le fichier n'existe pas, et c'est au niveau du répertoire que les droits s'appliquent. La création d'un fichier suppose l'écriture d'une entrée dans le répertoire, donc est sujettes aux permissions d'écriture de celui-ci.

Pour éviter de devoir donner au répertoire des droits d'écritures pour "nobody", tu peux créer un fichier vide et lui donner la permission "world writable".

Avec un accès ssh, tu entres les 2 commandes suivantes:

touch kelkoo.txt
chmod 666 kelkoo.txt

Cordialement,

Dan

Posté

Salut, je vous remercie tous et surtout Dan, en fait c'etait bien un probleme d'autorisation, faut "666". B)

JPS

  • 2 months later...
Posté

j'ai le meme souci mais le fait d'etre passer en 777 ne ma pas dépané, quelqu'un aurrai une autre idée ?

Posté

Salut Genmin,

On a déjà abordé ce sujet hier soir sur le chat, mais comme tu devais t'absenter on n'a pas pu aller au bout du probleme...

Si tu as l'occasion de m'envoyer un MP avec un login/mot de passe, je pourrais y jeter un coup d'oeil ;)

Dan

Posté

alors voilà pour tout les autres, on viens de trouver la solution à mon problème sur le chat alors, je vous la conte:

il a suffit de remplacer le w+ par w dans la commande fopen, pourquoi je ne sais pas bien encore car d'apres la doc ca aurrai du fonctionner quand meme. c'est pas grave merci quand meme à DAN et à toute l'équipe de webmaster_hub

Posté

Les commandes w et w+ n'ont pas la meme signification. L'une est 'ouvre en lecture seule', alors que l'autre est 'ouvre en lecture/ecriture'.

Anonymus.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...