El otro día comentaba que tuve que instalar GD (y un par de librerías más) en un servidor Windows con IIS para una instalación de PrestaShop. No fue la única modificación que tuve que hacer, a decir verdad. Al comenzar la instalación de PrestaShop se paraba en el 12% y daba un error creando las tablas. Ya había visto ese tipo de errores antes también en entornos Apache/Linux con alguna instalación de CMS: el proceso lleva demasiado tiempo y el servidor, por seguridad y optimizacion del rendimiento, cierra la conexión.
En el caso de PHP sobre IIS es la actividad fastCGI la que nos está fastidiando la instalación, así que debemos aumentar el tiempo de tiemout para poder acabar la instalación (luego ya lo volveremos a cambiar para asegurarnos el rendimiento del servidor).
Lo primero es lanzar el terminal de línea de comandos e ir a la carpeta c:\Windows\System32\inetsrv . Una vez allí si ejecutamos C:\Windows\System32\inetsrv>appcmd list config -section:system.webServer/fastCgi veremos los datos con la configuración de fastCGI.
Basta un solo comando para cambiar esa configuración, y vamos a poner una hora para ir sobrados de tiempo. Para este ejemplo vamos a suponer que nuestra instalación de php está en la carpeta C:\Program Files\PHP\v5.3\, como era en mi caso. En el vuestro cambiad esta ruta por la que corresponda.
C:\Windows\System32\inetsrv>appcmd set config -section:system.webServer/fastCgi "-[fullPath='C:\Program Files\PHP\v5.3\php-cgi.exe'].activityTimeout:3600"
Si todo va bien recibirás un mensaje tipo:
Applied configuration changes to section «system.webServer/fastCgi» for «MACHINE/WEBROOT/APPHOST» at configuration commit path «MACHINE/WEBROOT/APPHOST»
Tras eso basta con reiniciar el servicio y ya podrás seguir. Al acabar con la tarea que requiere tiempo extra lo recomendable sería volver a reducir el timeout de fastCGI.