IIS – Permissions des fichiers uploadés

J’ai récemment été confronté à un souci gênant : lorsqu’un utilisateur uploadait un fichier sur mon site via un formulaire (en l’occurrence une image toute bête), celui-ci n’apparaissait pas sur le site. Je devais systématiquement aller sur le serveur (un IIS sous WS 2012) redonner sur le fichier en question les droits de lecteur à l’utilisateur IIS_IUSRS !

Bien évidemment, le chmod du FileSystem de Symfony2 n’aide en rien sur les environnements Windows… Je devais donc trouver l’origine ailleurs ; en tout cas pas dans le code.

Finalement j’ai trouvé la solution sur le forum même de IIS : en fait, le souci provient du fait que les fichiers uploadés transitent temporairement via un dossier de stockage sur le serveur. Celui-ci est fourni automatiquement par Windows, mais peut être modifié via le fichier php.ini et plus particulièrement via le paramètre : upload_tmp_dir.

La solution : évidente ; créer son propre dossier temporaire, le renseigner dans le PHP.INI et lui donner les droits en lecture et écriture pour les deux utilisateurs courants de IIS : IUSR et IIS_IUSRS. That’s it !

Laisser un commentaire

Votre courriel ne sera pas publiée. Les champs Nom et Courriel sont obligatoires.

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>