2009-09-15 5 views
1

peut savoir ce que je la permission dois-je ajouter, pour permettre test.php de pouvoir écrire le fichier dans le système de fichiers de Mac OStest.php ne peut pas le fichier de sortie dans le système de fichiers de Leopard

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 je reçois sur léopard, j'ai déjà chmod ugo + x pour test.php

Répondre

1

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/Users/accountname, cela devrait fonctionner (bien que cela dépende de l'utilisateur qui exécute le script php).

2

Vous devez vous assurer que l'utilisateur sous lequel le script s'exécute est autorisé à écrire dans le fichier en essayant d'écrire (par exemple 20090915203127.jpg, pas le script PHP). Si 20090915203127.jpg n'existe pas, vous devez vous assurer que le répertoire dans lequel ce fichier est accessible est accessible en écriture (par défaut, il s'agit du répertoire de travail actuel).

Vous devrez peut-être lire environ chmod.

1

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

3

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

Questions connexes