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.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
