2009-09-16 26 views
0

Nos scripts PHP créent des dossiers et des fichiers dynamiques et nous avons un problème d'autorisation. Les dossiers ont été initialement créés en utilisant notre ftpuser. EG: Album (créé par ftpuser) tous les sous-dossiers et leurs fichiers doivent être créés dynamiquement. L'utilisateur apache est l'utilisateur lorsqu'un nouveau dossier est créé et qu'il ne peut rien écrire dans ce dossier pour quelque raison que ce soit.Autorisations de dossier Apache & PHP

Le serveur fonctionne avec le mode PHP sécurisé OFF.

Chaque fois qu'un dossier est créé par script php l'utilisateur est apache et l'autorisation pour une raison quelconque montre que dr ---- x - t

Merci.

Répondre

3

Trouvez l'endroit dans le PHP où le dossier est créé. En règle générale, ce sera:

mkdir(folderName); 

Modifiez la ligne:

mkdir(folderName, 1755); 

Ou, au contraire, ajouter cette ligne après la mkdir:

chmod(folderName, 1755); 

Pour plus d'informations, voici le PHP mkdir documentation .

+0

a changé mkdir ($ config-> documentRoot. "/ Images/albums /" .. albumId, 777); à mkdir ($ config-> documentRoot. "/ Images/albums /" .. Album Album, 0755); Cela fonctionne maintenant. – ToughPal

+0

Cool! Par souci d'exhaustivité: j'ai raté le fait qu'il avait besoin d'un zéro (0755 ou 0777 au lieu de 777) et suggéré 1755 (aurait dû être 01755) parce que le '1' rendrait le dossier "collant" (c'est le 't' au fin de 'dr ---- x - t'). J'ai supposé que le dossier était collant pour une raison. S'il n'a pas besoin d'être collant, alors pas de biggie. –