Question

puis-je savoir quelle autorisation dois-je ajouter, pour permettre à test.php de pouvoir écrire le fichier dans le système de fichiers macos

PHP Error: <br />
<b>Warning</b>:  file_put_contents(20090915203127.jpg) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: Permission denied in <b>/Library/WebServer/Documents/testphp/test.php</b> on line <b>8</b><br />
ERROR: Failed to write data to 20090915203127.jpg, check permissions

c’est l’erreur que j’obtiens sur le léopard, j’ai déjà chmod ugo + x pour test.php

Était-ce utile?

La solution

Autant que je sache, vous avez besoin des droits root pour pouvoir écrire directement dans / Library. Est-il absolument nécessaire d'écrire dans ce répertoire?

Si vous écrivez simplement des fichiers sur votre propre compte, sous / Utilisateurs / nom du compte, cela devrait fonctionner (même si cela dépend de l'utilisateur qui exécute le script php).

Autres conseils

Ce n'est pas le fichier qui a besoin d'autorisations, c'est le processus qui exécute PHP. En supposant que vous utilisiez (Snow) Leopard dans son état par défaut, vous devrez donner à l'utilisateur _www des autorisations d'écriture sur le répertoire donné, ou donner au monde un accès en écriture (une idée moins sûre). Les deux peuvent être accomplis avec une combinaison de chown et de chmod.

Vous devez vous assurer que l'utilisateur sous lequel le script est exécuté est autorisé à écrire dans le fichier qui tente de l'écrire (c'est-à-dire 20090915203127.jpg , et non le script PHP). Si 20090915203127.jpg n'existe pas, vous devez vous assurer que le répertoire dans lequel le fichier est inséré est accessible en écriture (par défaut, ce sera le répertoire de travail actuel).

Vous devrez peut-être vous informer sur chmod .

Vous devez rendre le fichier / répertoire cible accessible en écriture sur le serveur Web. test.php n'est pas dans ça ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top