Logo
  • Entries
  • Comments
  • Popular
Recent Posts
  • January 2012
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • July 2007
Recent Comments
  • Makendra It's always a pleasure to hear from someone with eexrpitse....
  • Rubén Ortiz Hola dependerá de varias cosas pero la respuesta sería NO. ...
  • jose miguel perea Buenos días, ¿La replicación entre maestro y esclavo es i...
  • Rubén Ortiz Si lo hacéis legal, con VMware el único problema son los cos...
  • Angel Hola, estamos valorando implementar baremetal para crear un ...
Popular Articles
  • Declaro la guerra al mosquito Tigre (35)
  • Phpbb3 - encode error converter (19)
  • MySQL - Variables básicas a configurar (17)
  • Reinicio programado Windows 2003 Server (16)
  • Plesk - Evitar el SPAM (10)
  • Home
  • Contacta
  • Hosting Linux
  • Legal
  • Sobre mí – About me

Instalar PHP 5 en IIS 6 64 Bits

Posted by Rubén Ortiz on Sep 22, 2008 in IIS, Windows | 9 comments

El típico tema que requiere varios pasos, difíciles de recordar porque hacemos de tanto en tanto. Aquí explicaré brevemente los problemas que encontré al instalar PHP 5.2.6, como extensión web ISAPI, en Windows 2003 Server 64 bits.

  1. Asumo que contamos con un Internet Information Server (ISS) instalado correctamente
  2. Descargamos la última versión estable de PHP, PHP 5.X.X Zip Package y PECL 5.X.X Win32 binaries
  3. Creamos en C:\ el directorio PHP. Descomprimimos el archivo zip de PHP y PECL. Copiamos el contenido de PHP-5.X.X en C:\PHP y dejamos las extensiones .dll (extraídas del paquete PECL) en C:\PHP\ext
  4. Renombramos php.ini-recommended a php.ini
  5. Editamos php.ini, descomentamos la línea de la variable “cgi.force_redirect” y la dejamos a 0
  6. Editamos php.ini para utilizar SMTP como localhost o un servidor externo
  7. Editamos php.ini, “session.save_path” como “session.save_path=C:\PHP\sessions”
  8. Editamos php.ini, “extension_dir” como “extension_dir = “C:\PHP\ext”
  9. Editamos php.ini y descomentamos las extensiones que necesitemos
  10. Ahora podemos copiar todas las dll de las extensiones al %systemroot% de nuestro 2003 Server o bien, añadir el directorio PHP en el path de variables de sistema. Para ello, botón derecho sobre “Mi PC”, Propiedades, Opciones Avanzadas, Variables de Entorno. En Variables de Sistema, buscamos Path y añadimos “C:\PHP\”;. Ahora creamos un archivo de texto y lo renombramos a phpinipath.reg. Y copiamos el texto:
1
2
3
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]
"IniFilePath"="C:\\PHP"

Ahora debemos configurar IIS. Abrimos la consola de administración de IIS, botón derecho en Extensiones Servicio Web (Web Services Extensions), y “Añadir nueva extensión”. Ponemos como nombre PHP y navegamos hasta to “C:\PHP\php5isapi.dll” y clickamos abajo el checkbox para permitir su uso. Ahora, botón derecho sobre Sitios Web(Web Sites) y navegamos hasta la pestaña Directorio Particular(Home Directory) y hacemos click en Configuración. En la primera pestaña “Asignaciones” hacemos click en “Añadir”, y añadimos la extension php y en ejecutable navegamos hasta “C:\PHP\php5isapi.dll”. Marcamos todos los verbos (opcionalmente podemos escoger tan sólo GET,POST,HEAD) y Aceptar. Vamos ahora a Docuementos y añadimos “index.php”

Ahora, creamos un archivo index.php en el Document Root de nuestro sitio web y editamos con la función típica

1
phpinfo();

Si todo ha ido bien, debería funcionar.

Problemas encontrados:

  • Internal Error Server – Error 500: al intentar instalar PHP 5.2.6 en un Windows 2003 Server 64 bits podemos encontrarnos con este error. Esta mucho mejor explicado en miles de sitios, pero básicamente, hemos de hacer que nuestro IIS sea compatible con aplicaciones 32 bits. Para eso abrimos la consola de comandos y ejecutamos cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1. Esto habilitará ambas extensiones.
  • Http Error 403.2 – Forbidden: Read is Denied: problema de permisos. Modificamos la configuració de nuestro sitio web, y le damos permisos de lectura en la pestaña “Directorio Particular”. Reiniciamos IIS.
  • Página en blanco: no encontramos errores en los logs, ni se muestra ningún tipo de error, tan sólo la página en blanco. Esto está relacionado con la variable short_open_tag, que seguramente estará a off. La ponemos en on y reiniciamos IIS.

Si hemos seguido los pasos, deberíamos poder hacerlo funcionar sin mayores problemas. Otro tema, es si PHP como extensión ISAPI en 64 bits (o incluso en 32 bits) es la opción correcta en sitios web de gran carga de tráfico o trabajo. Si no tenemos un sitio muy grande, está configuración, seguida de la instalación de un acelerador de PHP como XCache o Eaccelerator debería sernos útil.

Saludos

Links

  • http://www.wikihow.com/Install-PHP-5-for-Iis-6-on-Windows-Xp-and-2003
  • http://www.peterguy.com/php/install_IIS6.html#Troubleshoot
  • http://www.w3schools.com/php/php_mysql_update.asp
  • http://adminreports.com/upgrading-php-and-mysql-on-windows/

9 Responses to “Instalar PHP 5 en IIS 6 64 Bits”

  1. jaime velandia ravelo says:
    17 de December, 2008 at 1:58 pm

    Hola Ruben:

    Segui paso a paso sus instrucciones pero me sigue apareciendo el error
    %1 is not a valid Win32 application.
    fuera del comando dos, que mas podra hacerse para que funcione…

    Gracias

  2. Rubén Ortiz says:
    17 de December, 2008 at 5:39 pm

    Pues debería funcionarte :( pero afortunadamente, es un error muy documentado, busca bien en Google y seguro que localizas información de utilidad. En los mismos enlaces que he dejado tienes bastante info.

    Saludos.

  3. Comentario a Javier Ortiz...Alberto says:
    18 de December, 2008 at 8:07 pm

    Tengo en mi Pc instalado el IIS 6.0 [trbajo con el Windows Xp 64 bits], aunque la página está en construcción al darle localhost, simplemente cree una pagina web sencilla [solo html] y la utilizé como archivo de inicio y vaya que funciona bien; con respecto a PHP [trabajo con la versión 5.2.8] hice todo los pasos que mencionas, a excepción de crear el archivo con la extensión .reg, al ejecutar el script de php (index.php, este archivo lo puede uno hacer con el bloc de notas), aparece el error 500, tan solo ejecuté la instrucción.
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/

    Reinicié el IIS, y ahora si, funciona todo a la perfeccción, he creado páginas web dinámicas con IIS, PHP y MySQL, trabajando al 100%.

    Muchas Gracias, me has ayudado como no tienes idea. Saludos desde México.

  4. Rubén Ortiz says:
    18 de December, 2008 at 10:19 pm

    Es una satisfacción personal, poder ayudar desde estas líneas.

    Saludos.

  5. Marco says:
    27 de January, 2009 at 5:21 am

    Muy bien explicado, en mi caso solo faltó el siguiente comando para instalar la versión de ASP.NET 2.0 (32 bits) e instalar las asignaciones de secuencias de comandos en la raíz de IIS
    %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

  6. Rubén Ortiz says:
    27 de January, 2009 at 11:42 am

    Gracias por tu aportación :)

  7. juan fernando says:
    8 de February, 2009 at 8:30 am

    Aquí describen como instalar php en iis en el modo ISAPI que se mensiona en este articulo, espero aporte algo.

    http://algoritmosen.net/Lecciones/LeccionesenIIS/tabid/86/Default.aspx

  8. europegoodbye says:
    3 de March, 2009 at 1:31 pm

    Buenos días
    He conseguido con funcione el php5 en mi intel64 bits, seguiendo los pasos anteriores, pero daba el error 500, ejecutando por bien dice cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1.
    Y voila!!!
    Gracias

  9. jose luis says:
    7 de December, 2011 at 10:50 pm

    Gracias ya me volvia loco el error de 500 =)

Leave a Reply

Click here to cancel reply.

Nube de Tags

apache bare metal benchmark cacti centos dell drupal esxi General gripe A Hardware humor IIS kayako Linux lpi lyric Lyrics memcached mysql nginx openfiler OpenVZ openx Parallels php Phpbb plesk postgresql proftpd raid SQL Server ssh svn trac ubuntu varnish Virtualizacion Virtuozzo Virtuozzo Linux Warphammer.net Windows windows 2003 wordpress zabbix

Categorias

  • 2003 Server
  • Apache 2.X
  • benchmark
  • Centos
  • Cuanto (Luser) Cabron
  • ESXi
  • General
  • Hardware
  • IIS
  • Lighttpd
  • Linux
  • Lyrics
  • MySql
  • Nginx
  • OpenVZ
  • Parallels
  • Parallels Bare Metal
  • Php
  • Phpbb
  • Plesk
  • PostgreSQL
  • Prestashop
  • Software
  • SQL SERVER
  • Ubuntu
  • Varnish
  • Virtualizacion
  • Virtuozzo
  • Virtuozzo Windows
  • VMWare
  • Warphammer.net
  • Windows
  • Wordpress

Blogroll

  • David Toribio
  • EasyCompany.es
  • Marius Duch
  • Series
  • Warphammer.net

Recursos

  • Backup Plesk9
  • CentOS 5 32 bits RPMs
  • CentOS 5 64 bits RPMs
  • Lighttpd
  • MySQL Tunner
  • OpenVZ – Panel – PROXMOX
  • OpenVZ – Panel – VTONF
  • OpenVZ Wiki
  • Parallels Virtual Automation Resources
  • Plesk 8 Docs
  • Plesk 9 Docs
  • Plesk Hacker
  • Port80 – Compression Check
  • Virtuozzo DOCS
  • Virtuozzo Lin Commands
  • Virtuozzo Win Commands
  • Virtuozzo Windows Docu

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org
Designed by Elegant Themes | Powered by Wordpress