Apache 2.x en Microsoft Windows
Esta sección contiene notas y sugerencias específicas de Apache 2.x instaladas
con PHP en sistemas Microsoft Windows.
Nota:
Se debe leer primero el manual
de instalación PHP en Windows
Se recomienda consultar la
» Documentación de Apache
para obtener un conocimiento básico del servidor Apache 2.x.
También considere leer las
» notas específicas para Windows
para Apache 2.x antes de seguir leyendo.
Descargue la versión más reciente de
» Apache 2.x
y una versión adecuada de PHP. Siga los pasos del
manual de instalación
y regrese para continuar con la integración de PHP y Apache.
Hay tres formas de configurar PHP para que funcione con Apache 2.x en Windows.
PHP se puede ejecutar como 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.
Instalación como un controlador de Apache
Nota:
Cuando se utiliza apache2handler SAPI, se debe utilizar la versión
Thread Safe (TS) de PHP.
Para cargar el módulo PHP en Apache 2.x las siguientes líneas en el
fichero de configuración httpd.conf de Apache deben ser añadidas:
Ejemplo #1 PHP y Apache 2.x como controlador
# before PHP 8.0.0 the name of the module was php7_module
LoadModule php_module "c:/php/php8apache2_4.dll"
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
# configure the path to php.ini
PHPIniDir "C:/php"
Nota:
La ruta real de PHP debe sustituirse por
C:/php/ en los ejemplos anteriores.
Asegúrese que el fichero al que hace referencia en la directiva LoadModule
está en la ubicación especificada, y utilize php7apache2_4.dll
para PHP 7, o php8apache2_4.dll para PHP 8.
Ejecución de PHP como CGI
Se recomienda consultar la
» documentación de Apache CGI
para una comprensión más completa de la ejecución de CGI en Apache.
Para ejecutar PHP como CGI, deberá colocar los ficheros php-cgi en un
directorio designado como directorio CGI utilizando la directiva ScriptAlias.
Será necesario colocar una línea #!
en los ficheros PHP,
que apunte a la ubicación del binario PHP:
Ejemplo #2 PHP y Apache 2.x como CGI
#!C:/php/php.exe
<?php
phpinfo();
?>
AdvertenciaAl usar el modo CGI, su
servidor esta expuesto a diferentes ataques. Por favor, leer la sección
Seguridad con CGI para aprender cómo
defenderse de estos ataques.
Ejecutando PHP bajo FastCGI
Ejecutar PHP bajo FastCGI tiene una serie de ventajas con respecto a ejecutarlo bajo
CGI. Configurarlo de esta manera es bastante sencillo:
Descargue mod_fcgid
desde
» https://www.apachelounge.com.
Los binarios de Win32 están disponibles para descargar desde ese sitio.
Instale el módulo de acuerdo con las instrucciones que lo acompañarán.
Configure su servidor web como se muestra a continuación, teniendo cuidado de ajustar cualquier ruta
que reflejen la forma en que ha instalado las cosas en su sistema particular:
Ejemplo #3 Configurar Apache para ejecutar PHP como FastCGI
LoadModule fcgid_module modules/mod_fcgid.so
# ¿Dónde está el fichero php.ini?
FcgidInitialEnv PHPRC "c:/php"
<FilesMatch \.php$>
SetHandler fcgid-script
</FilesMatch>
FcgidWrapper "c:/php/php-cgi.exe" .php
Los archivos con una extensión .php ahora serán ejecutados por el
contenedor PHP FastCGI.