J'apprends php, et j'ai un problème en écrivant une page de téléchargement de fichier. Dans la docroot, j'ai index.php (la page qui appelle fopen) et un répertoire appelé "images", dans lequel je souhaite que le fichier temporaire soit déplacé. Cependant, fopen échoue avec "autorisation refusée" (vide / var / log / httpd / error_log). fopen est appelé pour demander une écriture.
J'ai parcouru le net et trouvé que le problème était avec les permissions sur le répertoire images. J'ai d'abord changé le propriétaire du groupe du répertoire en un groupe différent de root et ajouté 'apache' à ce groupe. le groupe a l'autorisation w sur le répertoire. (J'ai découvert que mon Apache fonctionnait comme utilisateur apache avec
# ps aux| grep httpd
Cela a échoué. (Aurait dû travailler, non?)
Encore une fois, j'ai repoussé les images / répertoires entières qui appartiendraient à 'apache'. en vain.
Et oui, j'ai redémarré le serveur après chacune des modifications ci-dessus.
Merci,
Yati
PS: Ma réputation ici ne me permet pas de répondre par moi-même dans les 8 heures, alors j'ai décidé de l'éditer ici. Avec l’aide d’Ignacio, la commande permettant de modifier le contexte SELinux du répertoire images est la suivante:
# chcon -R -h -t httpd_sys_rw_content_t ./images
à partir de docRoot.
Merci encore.
la source
selinux-*
les forfaits sont à jour.