Vamos a aprender a instalar PHP sobre IIS en Windows 2019 Server de manera manual. Claro que hay otras formas de hacerlo, como mediante Web Platform Installer (Web PI) . Pero yo considero que manualmente es la mejor forma de hacerlo si eres desarollador; pues así sabrás exactamente donde están tus archivos de configuración e instalación.
Paso 1: Instalar IIS Express 10
Desde el Server Manager, seleccionamos Manage y luego Add Roles and Features.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-1-500x393.png)
En el siguiente cuadro de dialogo, seleccionamos Role-based or feature based installation. En la siguiente ventana seleccionamos Select a server from the server pool asegurandonos que este seleccionado el servidor local.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-2-500x393.png)
En la siguiente ventana, seleccionamos la opción Web Server (IIS) y la casilla CGI. Esto es importante porque PHP se ejecuta sobre FastCGI del IIS.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-3-500x393.png)
Una vez terminada la instalación, podemoa abrir el navegador web local y dirigirnos a la dirección URL http://localhost y se deberá ver la página incial del IIS.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-4-500x393.png)
Paso 2: Descargar PHP
PHP se encuentra disponible para descargar gratuitamente desde su sitio oficial para Windows. Aseguráte de descargar la versión deseada. En este caso será la versión PHP 7.4 (7.4.25).
![](https://www.uv.mx/personal/gvera/files/2021/10/Descarga-de-PHP-500x356.jpg)
Es importante que eligas la versión VC15 x64 Non Thread Safe que es la que funciona con FastCGI de IIS Express. Finalmente elegimos el archivo Zip y lo descargamos en nuestro equipo.
Descargar Visual C++ Redistributable
La versión VC15 de PHP requiere tener instalado el Visual C++ Redistributable for Visual Studio 2015-2019 x64. Si no lo tienes ya instalado en tu equipo, descárgalo desde la misma página de descargas de PHP para Windows.
![](https://www.uv.mx/personal/gvera/files/2021/10/Descarga-de-Visual-C.jpg)
Instálalo y si lo solicita, reinicia tu equipo antes de seguir con el siguiente paso.
Paso 4: Configurar PHP en Windows
Extrae el archivo Zip descargado en el paso anterior y renombra la carpeta a v7.4 (por la versión descargada de PHP).
![](https://www.uv.mx/personal/gvera/files/2021/10/Carpeta-v7.4.jpg)
Colócate en la carpeta archivos de programa en la ruta C:\Program Files\ y crea la carpeta PHP. Nota: A IIS le gusta colocar a PHP dentro de esta ruta, pero puedes colocarlo en cualquier otra parte.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-5.png)
Finalmente copia la carpeta v7.4 dentro de la carpeta PHP.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-6.png)
Archivo de configuración de PHP
Dentro de la carpeta de configuración de PHP C:\Program Files\IIS Express\PHP\v7.4., copia y pega el archivo php.ini-production.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-7.png)
Renómbralo como php.ini. Este es el nombre que a PHP le gusta para su archivo de configuración.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-8.png)
Abre el archivo php.ini en el bloc de notas o Visual Studio Code. Al final del archivo, agrega la ruta de la carpeta de extensiones.
; Esto le dice a PHP donde estan las extensiones
extension_dir = "ext"
![](https://www.uv.mx/personal/gvera/files/2021/10/image-500x58.png)
En caso de necesitar alguna extensión, se puede agregar debajo de esta línea.
![](https://www.uv.mx/personal/gvera/files/2021/10/Extensiones-de-php-500x495.jpg)
Agregar PHP al PATH de Windows
Botón derecho en el menú inicio de Windows, luego hacer clic en System y debajo de Related Settings hacer clic en System info. Dentro del Panel de Control, clic en el menú de la derecha en Advanced system settings.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-9.png)
En la ventana System Properties, selecciona la pestaña Advanced y luego clic en Environment Variables.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-10-500x479.png)
En Environment Variables, selecciona Path y luego haga clic en Editar. Clic en New y agrega la ruta a la carpeta de instalación de PHP C:\Program Files\PHP\v7.4.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-11-500x477.png)
Clic en OK.
Paso 5: Configurar PHP en IIS Express
Para que IIS reconozca los scripts de PHP, debemos agregar un manejador para extensiones *.php con el módulo FastCgi de IIS.
Esto se hace editando el archivo de configuración de IIS Express en la ruta: C:\Windows\System32\inetsrv\Config.
Preferentemente este archivo no se edita manualmente. IIS proporciona una herramienta de línea de comandos: C:\Windows\System32\inetsrv\appcm.exe.
Abre una ventana de comandos y ejecuta el archivo instala-php.bat que se proporciona a continuación:
![](https://www.uv.mx/personal/gvera/files/2022/02/image-16-500x271.png)
@echo off
REM Configuración de PHP en IIS
REM Descargar la compilación de PHP desde Web Platform Installer o el archivo zip desde http://windows.php.net/downloads/
REM Ruta SIN COMILLAS al directorio donde se ha descomprimido o instalado la carpeta de PHP
set phppath=C:\Program Files\PHP\v7.4
REM Ruta CON COMILLAS de PHP para concatenar variables string
set phppath2="%phppath%"
REM Limpiar los manejadores actuales de PHP
"C:\Windows\System32\inetsrv\appcmd" clear config /section:system.webServer/fastCGI
REM El siguiente comando generará un mensaje de error si PHP no está instalado. Esto puede ser ignorado.
"C:\Windows\System32\inetsrv\appcmd" set config /section:system.webServer/handlers /-[name='PHP_via_FastCGI']
REM Instalar el manejador de PHP
"C:\Windows\System32\inetsrv\appcmd" set config /section:system.webServer/fastCGI /+[fullPath='%phppath2%\php-cgi.exe']
"C:\Windows\System32\inetsrv\appcmd" set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='%phppath2%\php-cgi.exe',resourceType='Unspecified']
"C:\Windows\System32\inetsrv\appcmd" set config /section:system.webServer/handlers /accessPolicy:Read,Script
REM Configurar las variables de FastCGI
"C:\Windows\System32\inetsrv\appcmd" set config -section:system.webServer/fastCgi /[fullPath='%phppath2%\php-cgi.exe'].monitorChangesTo:php.ini
"C:\Windows\System32\inetsrv\appcmd" set config -section:system.webServer/fastCgi /[fullPath='%phppath2%\php-cgi.exe'].activityTimeout:600
"C:\Windows\System32\inetsrv\appcmd" set config -section:system.webServer/fastCgi /[fullPath='%phppath2%\php-cgi.exe'].requestTimeout:600
"C:\Windows\System32\inetsrv\appcmd" set config -section:system.webServer/fastCgi /[fullPath='%phppath2%\php-cgi.exe'].instanceMaxRequests:10000
"C:\Windows\System32\inetsrv\appcmd".exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']"
"C:\Windows\System32\inetsrv\appcmd".exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHPRC',value='%phppath%\php.ini']"
REM Agrega index.php como documento default
"C:\Windows\System32\inetsrv\appcmd" set config /section:defaultDocument /-files.[value='index.php']
"C:\Windows\System32\inetsrv\appcmd" set config /section:defaultDocument /+files.[value='index.php']
Asegúrate de que la primer variable que apunte a tu instalación de PHP:
![](https://www.uv.mx/personal/gvera/files/2022/02/image-14-500x35.png)
REM Ruta SIN COMILLAS al directorio donde se ha descomprimido o instalado la carpeta de PHP
set phppath=C:\Program Files\PHP\v7.4
Si no se ha instalado PHP previamente, la primera línea va a mandar un error de elemento no encontrado. Este error es esperado y normal.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-15-500x279.png)
Paso 6: Prueba tu instalación de PHP
Colocate en la ruta C:\inetpub\wwwroot.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-17.png)
Y luego, sin seleccionar arcchivos, clic derecho en algun espacio en blanco en Abrir con Visual Code.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-18-500x391.png)
Escribe el nombre del archivo phpinfo.php.
![](https://www.uv.mx/personal/gvera/files/2022/02/image-19.png)
Abre el archivo en el bloc de notas y escribe el código para mostrar información de PHP dentro de index.php:
![](https://www.uv.mx/personal/gvera/files/2021/10/image-13-500x40.png)
<?php phpinfo(); ?>
Inicia el sitio Web
Ya tenemos todo listo. Abre tu navegador web local y dirigete a la dirección URL http://localhost/phpinfo.php
![](https://www.uv.mx/personal/gvera/files/2022/02/image-20-500x366.png)
Eso es todo! Ya podemos comenzar a publicar nuestros sitios web con PHP sobre IIS. Más adelante podríamos agregar la funcionalidad certificado SSL, pero eso lo veremos en otra entrada más adelante.
Comentarios