7937 sujets

Développement web côté serveur, CMS

Bonjour, curieux probléme qui m'arrive,en php impossible de créer un répertoire et d'y recopier des images modifiées provenant d'un répertoire existant.
Bien sur
1) avec FTP je peux
2) les droits des répertoires sont à 0755
3) même en créant mon répertoire impossible d'y copier mes vignettes
4) ce PHP marche en local, et sur deux sites situés sur deux serveurs
Une idée ??
Merci d'avance.
Bonjour

0755 => seul le propriétaire a le droit d'écriture. La question est de savoir qui est le propriétaire du dossier, et qui est l'utilisateur utilisé par php. Pour des raisons de sécurité il est fréquement utilisé un autre utilisateur que le propriétaire par défaut des dossiers.

La solution la plus simple est de mettre les droits à 777, mais c'est sale et dangereux. Tu peux au moins tester pour confirmer que c'est la raison du problème.
Une autre est d'attribuer la propriété du répertoire à l'utilisateur apache (sous linux souvent www-data). Mais tu risques de perdre les droits de modification en FTP/console.
La solution la plus propre est d'utiliser les ACL (Access Control Lists) qui permet de gérer proprement au cas par cas ce genre de problèmes

Si tu es chez un hébergeur mutualisé, il faut consulter leur documentation, ce genre de réglages est généralement expliqué pour correspondre à leur configuration et manière de faire.
J’ai rencontré le même problème il y a plusieurs années en venant en aide à un ami qui n’avait jamais utilisé de PHP sur son site: on pouvait faire marcher des programmes PHP mais impossible de créer un dossier ou d’écrire un ficher, même avec 777.
C’était une limitation sécuritaire du contrat d’hébergement.
Il a fallu changer de contrat, le site a été transféré sur un autre serveur, etc
Meilleure solution
Merci l'ami Smiley cligne , je vais corriger ça ! je suis sur un serveur a moi ou j'ai 50 sites ,je vais joindre la technique.
Merci Kustolovic, mais le probléme n'est pas si simple dans mon cas et même en 0777 ça ne marche pas, comme le dit PapyJP