Todo programador de PHP sabe que Windows no es la plataforma adecuada para sus desarrollos, sin embargo, alguna vez se tendrán que encontrar con que su trabajo deberá ser montado en un servidor Windows con IIS como webserver.
Si bien, la compatibilidad de Internet Information Service o IIS ha mejorado sustancialmente con las soluciones OpenSource como PHP, aún hay ciertas complicaciones a las que enfrentarnos, como el asignar los permisos correctos a los directorios para realizar la copia de archivos a través de un «uploader»
El proceso de habilitación de la compatibilidad de IIS con PHP es muy sencillo, de hecho actualmente solo se debe ingresar al Server Manager o Administrador del servidor (A partir de windows server 2012) y en la opción de Agregar Características o Add roles and features encontrarás las opciones.
Ojo, en algunos servidores puede variar la configuración. (Si hay alguna duda con gusto puedes seguir este video).
Configurar correctamente un uploader en IIS con PHP
Ahora si, a lo importante. Si estás trabajando en IIS, tu código PHP se lee sin inconvenientes, pero cuando empiezas a trabajar con ficheros y en los famosos uploader (para intentar copiar archivos de una PC al servidor) notarás que el proceso se realiza «exitosamente» sin embargo, la realidad es que no se copia el archivo al servidor.
El motivo por el que sucede esto, la carpeta de archivos temporales y tu directorio Inetpub. Lo que debes hacer es, desde el explorador de Windows dirigirte a la carpeta C:\Windows\ y darle clic secundario a la carpeta Temp posteriormente en la opción de «Propiedades -> Seguridad» y ahí deberás agregar dos nuevos usuarios: IUSR y IIS_IUSR .
Posteriormente te debes ir a tu directorio raiz donde tienes montado tu webserver (generalmente es wwwwroot) y realizar el mismo proceso
Ambos usuarios deberán quedar con todos los permisos «Acceso total» y listo. Ahora solo deberás reiniciar tu servicio de IIS y tu uploader comenzará a copiar archivos sin inconvenientes