2010-09-06 18 views
0

J'ai créé un setup.php pour gérer la génération de table MySQL, et comme une précaution évidente, j'ai ajouté un moyen de le supprimer une fois terminé. Comme l'utilisation de unlink(__FILE__) est impossible à faire, j'ai ajouté le code de suppression à main.php?action=deleteconfig pour dissocier le fichier.PHP: confus au sujet des autorisations de fichiers, ne peut pas dissocier le fichier d'installation?

setup.php dispose des autorisations 777, mais il me donne une erreur de permission refusée quand je découplez.la .. Ma est drwxr-xr-x et mon main.php est -rw-r--r--.

Aurais-je besoin de définir main.php à 777 avant de pouvoir supprimer setup.php? Je suis confus au sujet des autorisations de fichiers ici et pourquoi ils ne fonctionnent pas.

Répondre

1

L'utilisateur exécutant php doit avoir des autorisations d'écriture pour le répertoire afin de modifier son contenu (c'est-à-dire supprimer/créer). donc vous pouvez chown le répertoire à l'utilisateur php, ou ajouter l'utilisateur php au groupe et chmod le répertoire pour que le groupe ha w autorisations.

+0

UH OH, je l'ai 'système (« whoami »),' et il a dit " personne de personne ", aurais-je besoin de chown le fichier à personne pour que cela fonctionne? Ou est «personne» personne .. un défaut? – John

+0

'personne 'peut avoir des connotations spéciales en fonction de ce que vous exécutez. Quel OS est-ce? – prodigitalson

+0

prodigitalson: Arch Linux – John

1

J'ai récemment rencontré un problème similaire, dans une configuration où les fichiers téléchargés sont la propriété de personne/personne.

Pour le unlink à fonctionner correctement, assurez-vous que vous utilisez le chemin vers le fichier que vous souhaitez supprimer, pas l'URL