#1 Le 06/01/2012, à 21:20
- adjoint
[Résolu] Apache + PHP + fopen : permission denied
Bonjour à tous,
J'ai besoin de votre aide. Je viens de passer de windows à Xubuntu.
J'ai installé un serveur lamp sur mon ordinateur et configuré mon serveur apache pour utiliser le module usedir, les liens symbolique etc...
Tout marche, sauf les fonctions d'écriture de PHP.
voici la source :
<?php
$fp = fopen('/var/www/test','w');
fclose($fp);
?>
voici le message d'erreur :
Warning: fopen(/var/www/test): failed to open stream: Permission denied in /var/www/test.php on line 3
voici les droits sur le fichier :
-rwxrwxrwx 1 www-data www-data 58 2012-01-06 20:14 test.php*
Rien y fait, voici ce que j'ai testé :
- chmod 777
- chown wwww-data:www-data sur l'ensemble des répertoires et fichiers
L'écriture depuis /var/www comme depuis le répertoire personnel (public_html) ne marche pas.
Le passage en ligne de commande d'un script php (avec !#usr/bin/php) marche. Le fichier est bien écrit ou supprimé.
Le safe_mode de PHP est bien sur OFF.
Que dois-je faire ?
Serais-ce un problème avec apparmor ou selinux (une bibliothèque libselinux est présente dans les fichiers installés sur l'ordinateur) ?
Je vous remercie par avance pour votre aide.
Dernière modification par adjoint (Le 13/01/2012, à 13:34)
Hors ligne
#2 Le 06/01/2012, à 21:28
- sputnick
Re : [Résolu] Apache + PHP + fopen : permission denied
Est-ce que www-data a le droit d'execution sur le répertoire /var/www ? Il en a besoin (pour le "owner", le groupe ou les "autres")
Dans le doute :
chown root: /var/www
chmod 755 !$
Edit : voir http://www.php.net/manual/fr/function.fopen.php#105465
Dernière modification par sputnick (Le 06/01/2012, à 21:32)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#3 Le 06/01/2012, à 22:04
- adjoint
Re : [Résolu] Apache + PHP + fopen : permission denied
Merci pour ta réponse,
Je viens de vérifier les droit sur le fichier www. Il était en 755 root.
J'ai passé le www en 755 www-data, cela marche.
Du coup, il faut sans doute que je fasse la même chose pour le dossier public_html.
Par contre j'ai un peu du mal à comprendre, va t'il falloir que tous les fichiers que je produit sur mon public_html avec mon owner je les passe en www-data ? Il n'y pas un problème de sécurité si je peux ainsi accéder au répertoire des autres utilisateur de ma machine en passant par le owner www-data avec firefox + apache ?
Hors ligne
#4 Le 06/01/2012, à 22:29
- sputnick
Re : [Résolu] Apache + PHP + fopen : permission denied
chown root:root /var/www
chown www-data:www-data /var/www/public_html
chmod 755 /var/www /var/www/public_html
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne