Esta sección contiene notas y sugerencias específicas de Apache 2.x instaladas con PHP en sistemas Microsoft Windows. También hay instrucciones y notas para usuarios de Apache 1.3.x en una nueva página..
Nota:
Por favor lea primero el manual de instalación
Nota: Soporte Apache 2.2
Los usuarios de Apache 2.2 deben tener en cuenta que el archivo DLL para Apache 2.2 es llamado php5apache2_2.dll a cambio de php5apache2.dll y sólo está disponible para PHP 5.2.0 y posteriores. Ver también » http://snaps.php.net/
Se le recomienda consultar la » Documentación de Apache Para obtener un conocimiento básico del servidor Apache 2.x. Tambien considere leer las » notas especificas de Windows para Apache 2.x antes de seguir leyendo aquí.
Apache 2.x está diseñado para ejecutarse en las versiones de Windows designado como servidor de plataforma, tales como Windows NT 4.0, Windows 2000, Windows XP o Windows 7. Aunque Apache 2.x funciona bastante bien en Windows 9x, el soporte en estas plataformas es incompleta, y algunas cosas no funcionan correctamente. No existe un plan para remediar esta situación.
Descargue la versión más reciente de » Apache 2.x y un accesorio de la versión de PHP. Siga los pasos del Manual de Instalación y regrese a continuar con la integración de PHP y Apache.
Hay tres formas de configurar PHP para trabajar con Apache 2.x en Windows. Puede ejecutar PHP como un controlador, como CGI o bajo FastCGI.
Nota: Recuerde que cuando agrega rutas como valores en los archivos de configuración de Apache en Windows, todas las barras invertidas tal como c:\directory\file.ext deberían ser convertidas en barras comunes: c:/directory/file.ext. Una barra común al final será necesaria para directorios.
Es necesario insertar las siguientes líneas en Apache httpd.conf archivo de configuración para cargar el módulo PHP para Apache 2.x:
Ejemplo #1 PHP and Apache 2.x como controlador
# LoadModule php5_module "c:/php/php5apache2.dll" AddHandler application/x-httpd-php .php # Configurar la ruta de php.ini PHPIniDir "C:/php"
Nota: Recuerda sustituir la ruta de acceso actual a PHP para el C:/php/ en los ejemplos anteriores. Tenga cuidado en utilizar ya sea php5apache2.dll o php5apache2_2.dll en la directiva LoadModule y verificar que el fichero de referencia se encuentra localizado en la ruta de fichero que se señala en la presente directiva.
La configuración anterior permite habilitar PHP como controlador de cualquier fichero que tiene una extensión .php, aunque existen otras extensiones de fichero. Por ejemplo, un fichero llamadoexample.php.txt será ejecutado por el controlador de PHP. Para garantizar que sólo los ficheros queterminen en .php son ejecutados, se utiliza la siguiente configuración en su lugar:
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
Se debe consultar la» Documentación de Apache CGI para una comprensión más completa de ejecutar CGI en Apache
Para ejecutar PHP como CGI, tendrás que colocar los ficheros php-cgi en un directorio designado como directorio CGI usando la directiva ScriptAlias.
A continuación, se nesesita insertar una #! línea en los ficheros PHP, apuntando a la ubicación del binario de PHP:
Ejemplo #2 PHP y Apache 2.x como CGI
#!C:/php/php.exe <?php phpinfo(); ?>
Al usar el modo CGI, su servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques.
Ejecutar PHP bajo FastCGI tiene una serie de ventajas con respecto a ejecutarlo como un CGI. Si lo establece de esta manera es bastante sencillo:
Obtener mod_fcgid de » http://httpd.apache.org/mod_fcgid/. Los binarios de Win32 están disponibles para la descargar en ese sitio. Instalar el módulo de acuerdo con las instrucciones que vienen con él.
Configurar el servidor web como se muestra abajo, teniendo cuidado de ajustar cualquier ruta que refleje como se tiene instalado las cosas en el sistema:
Ejemplo #3 Configurar Apache para ejecutar PHP como FastCGI
LoadModule fcgid_module modules/mod_fcgid.so # Donde está el fichero php.ini? FcgidInitialEnv PHPRC "c:/php" AddHandler fcgid-script .php FcgidWrapper "c:/php/php-cgi.exe" .php