PHP:¿Cómo instalo PHP como Módulo de Apache en Windows?

De Foros del Web

Trataré de explicar brevemente cómo configurar PHP4 como módulo del servidor Apache bajo Windows:

En mi caso, he instalado:

Apache 1.3.26 PHP 4.1.2

en los siguientes directorios, Uds. deberán guiarse por sus instalaciones:

c:\www\inetpub\Apache c:\www\inetpub\php

y el htdocs lo tengo en otro disco:

D:\www\htdocs

¡¡¡OJO!!!: Para que cada cambio funcione, deben hacer un Restart de Apache.

Pasos a seguir:

-Editar el file \Apache\conf\httpd.conf

-Buscar #ServerName y modificarla así: ServerName http://

-Buscar DocumentRoot y modificarla así: DocumentRoot "D:/www/htdocs"

-Buscar ScriptAlias /cgi-bin/ y modificarla así: ScriptAlias /cgi-bin/ "C:/www/inetpub/Apache/cgi-bin/"

-Debajo de esa línea agregar: ScriptAlias /php/ "C:/www/inetpub/php/"

-Buscar la sección Addtype application/ y modificarla o agregarle estas líneas: Addtype application/x-httpd-php .php Addtype application/x-httpd-php .php3 Addtype application/x-httpd-php .php4 Addtype application/x-httpd-php .phtml

-Buscar la sección Actions y agregar: Action application/x-httpd-php "/www/inetpub/php/php.exe"


- Buscar DirectoryIndex index.html y modificarla así: DirectoryIndex index.html index.htm index.php index.php3 index.shtml


Este paso lo hacen solo si Apache les da error al testearlo, algunas versiones lo necesitan


-Buscar la sección LoadModule y agregar:

LoadModule php4_module c:/www/inetpub/php/sapi/php4apache.dll

-Buscar la sección AddModule y agregar al final:

AddModule mod_php4.c


-Guardar el file \Apache\conf\httpd.conf

-> En win9x/Me, copiar el file: \php\php4ts.dll al directorio x:\windows\system -> En win NT/2k/XP, copiar el file: \php\php4ts.dll al directorio x:\windows\system32

-En el directorio \php\, buscar el file \php\php.ini-dist, renombrarlo como php.ini y moverlo así: -> En win9x/Me, al directorio x:\windows\system -> En win NT/2k/XP, al directorio x:\windows\system32


Testeamos la configuración de Apache:

Ahora, vamos a menu inicio -> Apache HTTP Server -> Configure Apache Server -> Test Configuration Si la ventana que se abre nos da: bla, bla, Syntax OK, ya podemos probar PHP con Apache, sinó, deberán revisar otra vez los pasos y hacer las modificaciones necesarias.

  • Para probar Apache:

-Vamos a menu inicio -> Apache HTTP Server -> Control Apache Server -> Start

-Ejecutamos el navegador y escribimos esta URL: http://localhost/ <enter> Si aparece la página de bienvenida de Apache, está bien configurado.

* Para probar PHP4: -Vamos a menu inicio -> Apache HTTP Server -> Control Apache Server -> Start

-Con el Block de notas escribimos:


Código PHP:

<? echo "Hola, mi primera página PHP"; ?> 

-Y lo guardamos como mi_prog.php en el directorio: /htdocs/. (En texto plano. Todos los programas deben guardarse aquí o en subdirectorios dentro de este).

-Ejecutamos el navegador y escribimos esta URL: http://localhost/mi_prog.php <enter>

-Si aparece el texto Hola, mi primera página PHP, ¡PHP4 está funcionando!


* Para saber si PHP4 funciona como Módulo de Apache o como CGI:

-Vamos a menu inicio -> Apache HTTP Server -> Control Apache Server -> Start -Con el Block de notas escribimos:


Código PHP:

<? phpinfo(); ?> 

-Y lo guardamos como info.php en el directorio: /htdocs/

-Ejecutamos el navegador y escribimos esta URL: http://localhost/info.php <enter>

-Debe aparecer un resúmen de la configuración de PHP4 bajo Apache, en el primer recuadro buscamos Server API

-> Si a la derecha dice CGI, PHP4 está funcionando como un CGI-BIN (add-on) -> Si dice Apache, está funcionando como módulo directo del servidor Apache


Este ejemplo utiliza variables globales y solo funciona si PHP4 es un módulo de Apache:

-Con el Block de notas, escribimos este programa y lo guardamos como: /Apache/htdocs/prueba.php


Código PHP:

<? 
if (!isset($PHP_AUTH_USER)) { 
header('WWW-Authenticate: Basic realm="ACCESO RESTRINGIDO: Ingrese sus datos."'); 
header('HTTP/1.0 401 Unauthorized'); 
echo 'AUTORIZACION REQUERIDA.'; 
exit; 
} 
else { 
echo "Su nombre de usuario es: $PHP_AUTH_USER","<br>"; 
echo "Su contraseña es: $PHP_AUTH_PW","<br>"; 
} 
?> 

-En el navegador probamos: http://localhost/prueba.php <enter>

-También pueden utilizar en vez de http://localhost, http://127.0.0.1


Esto es un agregado para los que tienen Windows XP:

* Resolver el problema de las sessions si no funcionan correctamente:

Lo único que tiene que hacer es crear un dir tmp en la raíz del HD primario (o sea, por ej: C:\tmp ) y modificar en el php.ini la línea (en el root de c:\windows):

session.save_path= C:\tmp

@J@: Sólo funciona si el TMP es creado en el directorio raiz del disco de arranque.


--BooMeranGz 13 Ene 2003

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales