Como instalar PHP 5.2.10 en IIS 6 como módulo ISAPI

PHPWikibookCover

Descargar PHP

Descargar PHP 5.2.10 desde esta ubicación.

Descomprime el ZIP en C:\PHP.

Modificar la variable de ambiente Path

Haz click derecho en My Computer, después en Properties y luego en Advanced haz click en Environment Variables. En la caja de dialogo Environment Variables, debajo de System variables selecciona la variable Path y haz click en Edit.

Añade la cadena ‘;C:\PHP’ (asegurate de incluir el sepador punto y coma) como se muestra y haz click en OK. Necesitas reiniciar el equipo para que este cambio tenga efecto.

Configurar IIS

Primero crea y habilita un Web Service Extension para que IIS reconozca y le permita a los archivos PHP ser procesados por el script engine de PHP.

Puedes utilizar el Internet Information Services (IIS) Manager GUI para realizar esta tárea, pero hay un modo mas sencillo de hacerlo; utilizando el Command-Line Administration Script iisext.vbs, que encontrarás dentro de C:\Windows\system32.

Asumiendo que utilizas la misma estructura de directorio aqui descrita puedes simplemente copiar y pegar la siguiente línea de texto y ejecutarla en el command prompt desde la ubicación C:\Windows\system32:

cscript iisext.vbs /AddFile c:\PHP\php5isapi.dll 1 PHPISAPI 1 "PHP ISAPI"

Como puedes ver, este script crea un nuevo Web Service Extension llamado PHP ISAPI en estado Allowed.

Los Command-Line Administration Scripts de IIS 6.0 son herramientas poderosas y flexibles y recomiendo utilizarlas cuanto sea posible. Puedes aprender mas sobre las administración de IIS desde la línea de comandos en el sitio de TechNet.

Puedes utilizar el default web site para efectos de prueba si lo prefieres, pero en este ejemplo utilizaré un web site dedicado de prueba para PHP. He creado el directorio C:\test para este efecto. El siguiente paso es crear un Application Extension Mapping para scripts PHP en el web site. Puedes realizar este paso utilizando el MMC GUI pero utilizaré el script AdsUtil.vbs para esta demostración.

Hay una buena razón para hacerlo asi, y es que como utilizaré este web site unicamente para efectos de prueba con PHP, puedo eliminar los application mappings no utilizados en este web site PHP, a saber las extensiones como .idc, .shtml, .asp, etc.

Puedo realizar esto simplemente ejecutando el siguiente script desde el prompt de línea de comandos en C:\Inetpub\AdminScripts:

cscript adsutil.vbs set W3SVC/87257621/root/Scriptmaps ".php,C:\PHP\php5isapi.dll,5"

Ejecutar el comando anterior resultará en haber configurado las propiedades del web site con ID 87257621 asi que en dicho web site la extensión .php ó el Application Extension Mapping .php ha sido habilitado.

Sin embargo, como puedes ver, este script no solo ha añadido la extención .php ó el PHP script mapping al sitio web, sino que ha removido las extensiones o mappings previamente existentes, por lo que solo utiliza el anterior comando si estás seguro de que deseas eliminar cualquier otra extención ó application mapping en el sitio web elejido. En otras palabras, si ejecutas el anterior script contra un web site donde se alojan otras aplicaciones (como ASP) entonces esto eliminará la habilidad del sitio de ejecutar ese tipo de aplicación y deberás repararlo manualmente. Por lo que recomiendo que lo utilices, solo si unicamente desease ejecutar PHP en el web site.

Prueba

Ahora es tiempo de probar la instalación. Comienza por un simple archivo de prueba PHP. Abre el Notepad y crea un achivo con el siguiente contenido:

<?php phpinfo();?>

Guarda el archivo como index.php en la raíz del web site test. Luego crea un nueco tipo de archivo default ó default document type llamado index.php en el web site test.

Abre en el navegador del equipo la dirección http://localhost (or http://localhost/index.php) y podrás ver los detalles de la configuración estandar de PHP.

php.ini

Sin embargo, si miras cuidadosamente, notarás que que el archivo php.ini actualmente es buscado dentro del directorio C:\WINDOWS aunque no exista en dicho directorio. Esto se debe a que el archivophp5isapi.dllviene compilado para buscar en esta ubicación por default.

Afortunadamente, no necesitas colocarlo ahí, ya que PHP permite utilizar una variable personalizada para ubicar el archivo php.ini. Existen varias formas de hacer esto, pero el modo mas sencillo en configurar la variable de ambiente PHPRC.

Recomiendo crear un subdirectorio etc dentro del directorio C:\PHP y copiar ahí el archivo php.ini.

Para hacer esto, se debe crear una nueva System environment variable denominada PHPRC y proporcionale los valores apropiados. Haz click derecho en My Computer, click en Properties y luego en la pestaña Advanced y haz click en Environment Variables.

Dentro de la caja de dialogo Environment Variables, en System variables haz click en New. Dentro de la caja de dialogo New System Variable escribe PHPRC en variable name y la ubicación deseada para el php.ini, en este caso C:\PHP\etc.

Ahora solo haz click en OK y verás que la nueva System environment variable ha sido creada. Para que este cambio tenga efecto habrá que reiniciar el equipo.

Una vez hecho esto solo requerimos navegar nuevamente http://localhost (or http://localhost/index.php)

Y eso es todo. Ya debes tener una instalación de PHP ejecutandose en IIS 6.0.

Basilio Briceño

DevOps evangelist, SoftwareLibre activist, sometimes speaker & eclectic metalhead.

2 comments

  1. Miguel   •     Author

    me ha salvado.

    Gracias

  2. haz clic   •  

    He leido vuestro articulo con mucha atecion y me ha parecido practico ademas de bien redactado. No dejeis de cuidar este blog es bueno.
    Saludos

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>