Esta sección aplica para Windows 98/Me/NT/2000/XP. PHP
no trabajará con plataformas de 16 bit, tales como Windows 3.1 y algunas
veces nos referiremos a las plataformas soportadas como Win32. Windows 95
no es soportado desde la versión de PHP 4.3.0.
Hay principalmente dos formas de instalar PHP para Windows: ya sea
manualmente
o usando el instalador InstallShield.
Si usted tiene MicroSoft Visual Studio, también puede
compilar PHP del código
fuente original.
Una vez que ha instalado PHP en su sistema Windows, tal vez quiera instalar
varias extensiones para
agregar funcionalidad.
El instalador de PHP en Windows está disponible de la página de descargas en
http://www.php.net/downloads.php. Este instala
la versión CGI de PHP, y para ISS, PWS y Xitami configura
el servidor web también.
Nota:
Mientras el instalador InstallShield es una forma sencilla de hacer trabajar
PHP, está restringido en muchos aspectos, como por ejemplo la configuración automática
de extensiones no está soportada. Todo el conjunto de extensiones soportadas
está solo disponible descargando la distribución binaria zip.
Primero que nada instale el servidor HTTP de su elección
en su equipo y asegurese de que funciona.
Ejecute el instalador y siga las instrucciones dadas por el instalador.
Son soportadas dos tipos de instalación - estándar, la cuál provee los
valores por defecto sensibles a los ajustes "settings", y avanzada,
la cuál va preguntando segun avanza la configuración.
El "wizard" obtiene suficiente información para configurar el archivo
php.ini y configura el servidor web para usar PHP. Para IIS y también
para PWS en estaciones de trabajo NT, se despliega un listado de todos los
nodos en el servidor que pueden utilizar "scripts", de tal forma que puede
seleccionar de entre esos nodos cuál desea agregarle los mapeos de los
"scripts" PHP.
Una vez que se ha completado la instalación, el instalador le informará
si necesita reiniciar el sistema, reiniciar el servidor web o solo
comenzar a utilizar PHP.
Aviso
Tenga en cuenta que esta configuración de PHP no es segura. Si desea tener
una configuración de PHP segura, es mejor que instale de forma manual, y
cambiar cada opción cuidadosamente. Esta manera de configuración automática
da una instalación de PHP lista para usarse instantáneamente, pero no
significa que puede ser usada en servidores web que vayan a estar en línea
en Internet.
Esta guia de instalación le ayudará a manualmente isntalar y configurar PHP
en su servidor web en Windows. La versión original de esta guia fue proveida
por Bob Silva, y puede ser encontrada en
http://www.umesd.k12.or.us/php/win32install.html. Usted necesita
descargar la distribución binaria zip de la página de descargas en
http://www.php.net/downloads.php.
PHP 4 para Windows vienen en tres presentaciones - un ejecutable CGI, un
ejecutable CLI (sapi/php.exe) y algunos otros modulos SAPI:
php4apache.dll - modulo Apache 1.3.x
php4apache2.dll - modulo Apache 2.0.x
php4isapi.dll - Modulo ISAPI para servidores web
que cumplen con ISAPI como IIS 4.0/PWS 4.0 o recientes.
php4nsapi.dll - modulo Netscape/iPlanet
El último modulo es nuevo en PHP4, y provee un incremento en desempeño
significativo y alguna nueva funcionalidad. La versión CLI está designada
para "scripting" en línea de comandos. Para más información acerca de CLI
está disponible en el capítulo acerca de
usar PHP desde la línea de comandos
Aviso
Los modulos SAPI han sido mejorados significativamente en la entrega 4.1,
sin embargo, puede que encuentre algunos errores del servidor u otros
modulos del servidor tales como falla de ASP, en sistemas más viejos.
requerimientos DCOM y MDAC:
Si usted escoge uno de los modulos SAPI y usa Windows 95,
asegurese de descargar e instalar la actualización de DCOM de las
Páginas DCOM de Microsoft.
si usa Microsoft Windows 9x/NT4 descargue la última
versión de los Componentes de Acceso de Datos Microsoft (MDAC por sus siglas
en inglés) para su plataforma. MDAC está disponible en
http://msdn.microsoft.com/data/.
Los siguientes pasos deben ser realizados en todas las instalaciones antes
de instrucciones específicas de cualquier servidor.
Extraiga el archivo de distribución en el directorio que haya escogido,
es un buen comienzo c:\. El paquete
zip se extrae en una carpeta como php-4.3.1-Win32
la cuál se asume que se renombrará a php. Por
razones de conveniencia y para trabajar independiente de la versión
los siguientes pasos asumen que la versión de PHP vive en
c:\php. Puede escoger cualquier
otra ubicaión, pero probablemente no deba usar una ruta que incluya
espacios (por ejemplo:
C:\Program Files\PHP no es una
buena idea). Algunos servidores pueden fallar si lo usa de esta manera.
La estructira del directorio donde extrajo el archivo zip se parecerá a:
c:\php
|
+--cli
| |
| |-php.exe -- ejecutable CLI - SOLO para linea de comandos
|
|
+--dlls -- soporte dll para extensiones --> Windows system directory
| |
| |-expat.dll
| |
| |-fdftk.dll
| |
| |-...
|
+--extensions -- dlls de extension para PHP
| |
| |-php_bz2.dll
| |
| |-php_cpdf.dll
| |
| |-..
|
+--mibs -- archivos de soporte para SNMP
|
|
+--openssl -- archivos de soporte para Openssl
|
|
+--pdf-related -- archivos de soporte para PDF
|
|
+--sapi -- SAPI dlls
| |
| |-php4apache.dll
| |
| |-php4apache2.dll
| |
| |-php4isapi.dll
| |
| |-..
|
|-install.txt
|
|-..
|
|-php.exe -- ejecutable CGI
|
|-..
|
|-php.ini-dist
|
|-php.ini-recommended
|
|-php4ts.dll -- dll principal --> Windows system directory
|
|-...
El binario CGI - c:\php\php.exe -, el binario CLI
- c:\php\cli\php.exe - y los modulos SAPI
- c:\php\sapi\*.dll - dependen del dll principal
c:\php\php4ts.dll. Usted debe asegurarse, que
este dll puede ser encontrado por su instalación PHP. El orden de la
búsqueda para este dll es como sigue:
El mismo directorio en donde se llama a php.exe.
En caso que use un modulo SAPI, el mismo directorio de donde su
servidor web carga el dll (ej. php4apache.dll).
Cualquier directorio en su variable de ambiente PATH de
Windows.
Lo mejor es apostar por asegurarse de hacer disponible
php4ts.dll, sin importar que interface planee
usar (CGI o modulo SAPI). Para esto, debe copiar este dll en un directorio
de su PATH en Windows. El mejor lugar es el directorio de sistema de
Windows:
C:\Windows\System para Windows 9x/ME
C:\WINNT\System32 para Windows NT/2000 o
C:\WINNT40\System32 para NT/2000 server
C:\Windows\System32 para Windows XP
Si planea usar un modulo SAPI de
c:\php\sapi y no quiere copiar
archivos dll a su directorio de sistema Windows, tiene la opción
alternativa de simplemente copiar php4ts.dll a
la carpeta sapi de su paquete zip extraído,
c:\php\sapi.
El siguiente paso es fijar un archivo configuración valido para PHP,
php.ini hay dos archivos .ini distribuidos en el archivo zip,
php.ini-dist y
php.ini-recommended. Le aconsejamos que use
php.ini-recommended, porque optimizamos por defecto
los ajustes de rendimiento y seguridad. Lea cuidadosamente este documento
y ademas estudie los
ajustes iniciales y fije
cada elemento manualmente. Si quiere alcanzar la mejor seguridad, entonces
este es el camino para usted, aunque PHP trabaja bien con estos archivos
ini. Copie el archivo ini de su elección al directorio donde PHP lo
encuentre y renombrelo a php.ini. Por defecto PHP busca php.ini en su
directorio de Windows:
En Windows 9x/Me/XP copie el archivo ini a su
%WINDIR%, el cuál es típicamente
C:\Windows.
En Windows NT/2000 copie el archivo ini a su
%WINDIR% o %SYSTEMROOT%,
los cuales son típicamente C:\WINNT o
C:\WINNT40 para servidores NT/2000.
Si está usando NTFS en Windows NT, 2000 o XP, asegurese de que
el usuario que corre el servidor web tiene permisos de lectura sobre
php.ini (ej. hagalo leíble para todos).
Los siguientes pasos son opcionales.
Edite su archivo nuevo php.ini. Si planea usar
OmniHTTPd, no siga el siguiente
paso. Fije el
doc_root para que apunte al document_root
de sus servidores web. Por ejemplo:
doc_root = c:\inetpub // para IIS/PWS
doc_root = c:\apache\htdocs // para Apache
escoja cuales extensiones quiere cargar cuando inicia PHP. Vea la
sección acerca
extensiones de Windows,
sobre como fijar una, y saber que está ya integrado. Note que en
una nueva instalación es recomendable primero tener PHP trabajando
y probado sin extensiones antes de habilitarlas en php.ini
En PWS y IIS, puede fijar las opciones de configuración
browscap para que apunten a:
c:\windows\system\inetsrv\browscap.ini en
Windows 9x/Me,
c:\winnt\system32\inetsrv\browscap.ini en
NT/2000 y
c:\windows\system32\inetsrv\browscap.ini
en XP.
Estas son las instrucciones básicas para que usted pueda fácilmente
configurar PHP en Windows. El siguiente paso es escoger un servidor
web y habilitarle que ejecute PHP. Estan disponibles las instrucciones de
instalación para los siguientes servidores web:
.. la familia de servidores Windows,
Servidor Web Personal (PWS por sus siglas en inglés) 3, 4 y superiores;
Servidor de Información de Internet (ISS por sus siglas en inglés) 3, 4
y superiores.
Antes de empezar, es necesario responder la pregunta:
¿Por qué es compilar en Windows tan díficil? dos razones tengo en mente:
Windows no (todavía) se una a la gran comunidad de desarrolladores que
desean libremente compartir sus fuentes. Como un resultado directo,
la inversión necesaria en la infrastructura requerida para soportar tal
desarrollo no se ha conseguido. Generalmente, lo que se está disponible
ha sido posible por el uso de las necesarias utilidades de Unix. No
se sorprenda si algo de esta herencia se muestra de cuando en cuando.
Muchas de las instrucciones que siguen son de la variedad "fije y olvide".
Así que sientese e intente seguir las instrucciones siguientes tan
fielmente como pueda.
Para compilar y construir PHP usted necesita un ambiente de desarrollo
de Microsoft. se recomienda Microsoft Visual C++ 6.0. Para extraer los
archivos descargados necesita una utilería de extracción (ej. winzip).
Si todavía no tiene una utilería unzip, puede obtener una versión gratuita
de InfoZip.
..el código fiente para el resolvedor de nombres DNS usado por PHP de
http://www.php.net/extra/bindlib_w32.zip.
Este remplaza la libreria resolv.lib incluida en
win32build.zip.
Si planea compilar PHP como un modulo de Apache también necesitará
los fuentes de Apache.
Finalmente, usted va a necesitar los mismos fuentes de PHP 4. Puede obtener
la última versión en desarrollo usando
CVS anónimo, un
snapshot o la entrega más reciente de los
fuentes en tarball.
Cree los directorios c:\usr\local\lib.
Copie bison.simple de
c:\work\win32build\bin a
c:\usr\local\lib.
Nota:
los usuarios de Cygwin deben omitir el
último paso. Un ambiente Cygwin propiamente instalado provee los
archivos mandatorios bison.simple y
bison.exe.
El siguiente paso es configurar MVC ++ para prepararnos para compilar.
ejecute Microsoft Visual C++, y de el menu selecciones Herramientas (Tools)
=> Options. En el dialogo, seleccione la pestaña directorios (directories).
Secuencialmente cambie el menu desplegable a los archivos de Ejecutables,
Incluir, y Librerias. Sus cambios deben lucir como esto:
Archivos ejecutables: c:\work\win32build\bin,
usuarios de Cygwin : cygwin\bin
Usted debe compilar la libreria resolv.lib.
Decida si quiere tener simbolos de rastreo de errores disponible
(bindlib - Win32 Debug) o no (bindlib - Win32 Release).
Compile la configuración apropiada:
Para usuarios del ambiente gráico, arranquen VC++, y entonces
seleccionen Archivo => Abrir área de trabajo, navegue a
c:\work\bindlib_w32 y
seleccione bindlib.dsw. entonces
seleccione Compilar => Fijar Configuración activa y
seleccione la configuración deseada. Finalmente seleccione Compilar =>
Compilar todo.
Para usuarios de línea de comandos, asegurense de que tiene las
variables de ambiente de C++ registradas, o que ha ejecutado
vcvars.bat, y entonces ejecute uno de los siguientes
comandos:
msdev bindlib.dsp /MAKE "bindlib - Win32 Debug"
msdev bindlib.dsp /MAKE "bindlib - Win32 Release"
En este punto, usted debe tener un resolv.lib
disponible en cualquiere de sus subdirectorios
c:\work\bindlib_w32\Debug
o Release. Copie este archivo en su directorio
c:\work\win32build\lib
sobreescribiendo el archivo del mismo nombre que se encuentra ahi.
La mejor manera de empezar es compilar la version CGI.
Para usuarios del ambiente gráfico, arranquen VC++, y entonces
seleccionen Archivo => Abrir area de trabajo y seleccionen
c:\work\php-4.x.x\win32\php4ts.dsw.
Entonces seleccionen Compilar=>Fijar configuración activa y
seleccione la configuración deseada, ya sea
php4ts - Win32 Debug_TS o
php4ts - Win32 Release_TS. Finalmente seleccione
Compilar=>Compilar todo.
Para usuarios de línea de comandos, asegurese de que tiene ya sea
las variables de ambiente de C++ registradas, o ejecutó
vcvars.bat, y entonces ejecute uno de los siguientes
comandos desde el directorio c:\work\php-4.x.x\win32
:
En este punto, usted debe tener un php.exe
usable, en uno de sus subdirectorios
c:\work\php-4.x.x.\Debug_TS o
Release_TS.
Es posible hacer arreglos menores para requisitos particulares al
proceso de compilación editando el archivo main/config.win32.h.
Para un ejemplo puede cambiar la localización por defecto de php.ini,
las extensiones integradas y la ubicación por defecto de las extensiones.
En seguida, puede que queires compular la versión CLI la cuál esta designada
para usar PHP desde la línea de comandos.
Los pasos a seguir son los mismos que para compilar la versión CGI, excepto
que tiene que seleccionar php4ts_cli - Win32 Debug_TS o
php4ts_cli - Win32 Release_TS como archivo del projecto.
Después de una compilación exitosa, usted encontrará el php.exe
en el directorio ya sea Release_TS\cli\ o
Debug_TS\cli\.
Nota:
Si quiere usar PEAR y el instalador confortable de línea de comandos,
el CLI-SAPI es mandatorio. Para más información acerca de PEAR y el
instalador lea la documentación en el sitio de
PEAR.
Para poder compilar el modulo SAPI (php4isapi.dll)
para integración de PHP con Microsoft IIS, fije su configuración activa a
php4isapi-whatever-config y compile el dll deseado.
Después de instalar PHP y un servidor web en Windows, usted probablemente
quiera instalar algunas extensiones para agregar funcionalidad. Puede escoger
cuales extensioes quiere cargar cuando PHP inicia modificando su php.ini.
Puede tambien cargar modulos dinámicamente en sus "scripts" usando la
función dl().
Los DLLs para las extensiones de PHP tienen el prefijo 'php_' en PHP 4 (y
'php3_' en PHP 3). Esto prevee confusión entre las extensiones de PHP y sus
librerias de soporte.
Nota:
En PHP 4.3.1 BCMath, Calendar, COM, Ctype, FTP, MySQL, ODBC, Overload,
PCRE, Session, Tokenizer, WDDX, XML y Zlib el soporte está
integrado. Usted no necesita cargar ninguna extensión
adicional para usar esas funciones. Vea en su distribución los archivos
README.txt o install.txt
o this table
para una lista de los modulos integrados.
La ubicación por defecto en la que PHP busca por extensiones es
c:\php4\extensions.
Para cambiar está opción para reflejar tu configuración de PHP edita tu
archivo php.ini:
Necesitará cambiar la opción
extension_dir
para apuntar al directorio donde sus extensiones están, o donde usted
haya pueto sus archivos php_*.dll. Por favor no
olvide la última diagonal invertida "\". Por ejemplo:
extension_dir = c:/php/extensions/
Habilite las extensiones in php.ini que quiere usar quitando el
comentario de las lineas extension=php_*.dll en php.ini.
Esto es hecho quitando el (;) al principio de la linea para las extensiones
que quiere utilizar.
Ejemplo 3-4. Habilita extensión Bzip2 para PHP-Windows
// change the following line from ...
;extension=php_bz2.dll
// ... to
extension=php_bz2.dll
Algunas de las extensiones necesitan algunos dlls extras para trabajar
correctamente. Algunos de ellos pueden ser encontrados en el paquete
que descomprimió en el directorio
c:\php\dlls\, pero algunos,
por ejemplo Oracle (php_oci8.dll) requieren dlls
los cuales no estan disponibles en el paquete de distribución. Copie los
dlls incluidos de la carpeta
c:\php\dlls a su
PATH de Windows, algunos lugares seguros son:
c:\windows\system for Windows 9x/Me
c:\winnt\system32 for Windows NT/2000
c:\windows\system32 for Windows XP
Si los tiene ya instalados en su sistema, sobreescribalos solo si
algo no funciona correctamente (antes de sobreescribirlos, es una
buena idea hacer un respaldo de ellos, o moverlos a otra carpeta,
solo en caso de que algo salga mal).
Nota:
Si está ejecutando una version de modulo de servidor de PHP recuerde
reiniciar su servidor web para reflejar los cambios a php.ini.
La siguiente tabla describe algunas de las extensiones disponibles y
los dlls extras requeridos.