2011-05-16 7 views
0

J'ai créé une petite application php avec log4php sur mon ordinateur de bureau fonctionnant sous Windows 7 et net. cela fonctionne très bien, le fichier journal a été créé et le journal est entré.log4php ne peut pas créer de fichier dans un environnement Linux

NOw je suis sur mon ordinateur portable en cours d'exécution 11,04 ubuntu. J'ai donné à l'origine persmission 755 dans le dossier Integrator (nom de l'application) et sous-dossier /var/www/Ingrator .après réalisant ce

Lun 16 mai 2011 18:03:44] [error] [client 127.0.0.1] Attention PHP : fopen (./ logs/daily_20110516.log): failed to open stream: permission denied dans /var/www/Integrator/lib/log4php/appenders/LoggerAppenderFile.php en ligne 77

numéro d'autorisation dans le apache log, j'ai changé le propriétaire pour être le propriétaire actuel, mais cela. il donne la même erreur. Maintenant c'est même avec la permission 777. c'est toujours persistant. Donc, je suis une petite surprise. Comment puis-je résoudre ce problème? merci d'avoir lu ceci.

+0

Quel est le chemin absolu où se trouve votre répertoire de logs? –

+0

L'utilisateur qui exécute le script doit avoir les autorisations définies sur 7 et ajouté en tant que groupe de propriétaires de fichiers. chown root: newUser fileName et chmod 775 –

+0

Salut phil merci pour vous input.right maintenant la permission de fichier est 777 pour chacun d'eux. Pouvez-vous élaborer un peu ce que vous suggérez? –

Répondre

2

L'erreur indique qu'il essaie d'ouvrir le fichier, ce qui signifie que l'utilisateur Apache n'a pas l'autorisation pour le fichier . Fondamentalement, il peut ouvrir le dossier et voir que le fichier est là, mais ne peut rien faire avec, parce que les autorisations pour les dossiers sont séparées des autorisations pour les fichiers. Assurez-vous que le fichier appartient à www-data, dans le groupe www-data, ou qu'il possède des autorisations de lecture/écriture que www-data peut utiliser (en supposant que vous ayez laissé l'utilisateur Apache comme www-data, sinon, utilisez l'utilisateur Apache que vous avez défini).

+0

ok va essayer ça. –

+0

qui l'a corrigé.thanks –

Questions connexes