AstucesWindows ServerWindows Server 2008 R2Windows Server 2012 R2Windows Server 2016

IIS : Permissions non héritées lors de l’upload de fichiers via PHP

Hier, je me suis cassé un peu la tête sur un problème tout bête. J’ai mis en place un Windows Server 2016 avec IIS dessus. Le tout pour héberger un wordpress. Rien de compliqué jusque là, d’autant plus que vous pouvez utiliser Web Platform Installer pour faciliter la tâche (Installation de IIS, SQL, Wordpress de façon automatisée).

Bref, le serveur et wordpress fonctionnaient bien jusqu’à ce que je décide d’utiliser le formulaire d’envoi de fichier de wordpress.

Dès lors ou j’upload un nouveau fichier, celui-ci est inaccessible via le serveur et une belle « erreur 500 – Erreur interne au serveur » apparait.

Pourtant, le fichier est bien présent dans le répertoire d’upload de wordpress. Très rapidement, je comprends que les droits du fichier ne sont pas les bons. Pourtant, le répertoire a bien les droits nécessaires, l’héritage des droits est activé, mais les fichiers envoyés n’héritent pas des droits en question.

L’explication est assez simple finalement, lorsque l’on utilise PHP pour transférer un fichier, PHP envoie d’abord le fichier dans le répertoire temporaire de Windows (par defaut) (C:\Windows\Temp). Et les fichiers récupèrent les droits de ce répertoire, mais lorsqu’ils sont déplacés dans le répertoire final, ils gardent les propriétés du dossier temporaire et n’héritent pas des droits de votre dossier web.

Vous pouvez changer ce répertoire via la variable  » upload_tmp_dir » dans le fichier php.ini

Par défault, ce fichier est dans le répertoire d’install de PHP, dans mon cas, « C:\Program Files (x86)\PHP\v5.6 »

Donc au choix, vous pouvez soit choisir un répertoire de votre site avec les permissions adéquates, ou encore, mettre les permissions directement sur le répertoire temporaire de Windows. Dans mon cas, j’ai ajouté l’utilisateur IUSR sur le répertoire TEMP, avec les droits en récursif et tout fonctionne parfaitement maintenant.

Plus d’erreur 500, les fichiers sont bien accessibles via le navigateur.

Mikaël GUILLERM

Administrateur Système et Autoentrepreneur depuis 2009 pour la société zerobug. Je partage mes connaissances, problèmes et solutions à travers articles ou tweets !

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page