[Ir al menú de PHP]
PHP como módulo de Apache

Dos opciones de instalación

Después de los sudores que me había costado instalar Apache y PHP, estaba yo tan tranquilo pensando que aquella era la única posibilidad de instalación hasta que empecé a leer por un sitio y por otro lo de módulo de Apache y pensaba yo -¿qué atrevida es la ignorancia?- que se referían a lo mismo y que eso de módulo de Apache se referiría a que se utilizaba como servidor un Apache.

Me picó la curiosidad, me puse a buscar y descubrí... que en un fichero llamado install.txt que tenía en directorio PHP decía (eso sí, escrito en raro):
«...PHP 4 for Windows comes in two flavours - a CGI executable (php.exe), and several SAPI modules...».

Lo de two flavours me sonó a dos formas de instalación y descubrí que llevaba más de un año con mi PHP configurado para el flavour CGI... y yo... sin enterarme.

Me miré en el espejo.. y tuve la sensación de que mis orejas son mayores que las habituales y para más inri empecé a tener la sensación de que mi voz empezaba a tener un cierto tono... como de rebuzno... ;-)

Admitido que -sin saberlo- mi configuración era flavour CGI decidí probar a utilizar la otra configuración -el otro flavour- (como módulo de Apache) y -no sin algunos fracasos- conseguí hacer la configuración que te comento aquí... y me funcionó.

¿Qué configuración usar?

Una vez conocida la existencia de dos opciones de configuración se me planteó la duda existencial. ¿cual era la mejor? ¿cual usar?... ¿a quien quieres más? ¿a papá o a mamá?.. Seguí leyendo el famoso install.txt y los señores de PHP -que supongo yo que de esto sabrán- dicen que como módulo de Apache proporciona una performance muy mejorada y que además incorpora algunas nuevas funcionalidades...

Pero... advierten que... -sobre todo para versiones de Windows inferiores a la 2000- pueden surjir algunos problemas con el servidor (cita el Error500, entre otros) y justifica los fallos mencionando que esta opción incorpora una mayor nivel de seguridad -thread-safe- que es nuevo en PHP, que es mejor... pero que aun no ha sido suficientemente experimentado en producción... en definitiva que... instalado como módulo de Apache PHP es más eficaz, tiene nuevas funcionalidades, es más seguro, pero... que cuidado... que puede dar fallos aún y que si quieres evitar ese riesgo de fallos, que sigas usando la configuración flavour CGI.

La verdad es que llevo algunos días probando que pasa como módulo de Apache y -en honor a la verdad- no me ha ocurrido nada raro...

Parece que es la opción del futuro... yo te cuento como lo he configurado y te cuento también que me funciona... pero... usar una u otra opción, eso es cosa tuya... ...yo no quiero responsabilidades... ;-)


 
 


Instalando el PHP como módulo de Apache

La instalación que te comenté en las páginas anteriores (¿recuerdas lo de comentaba de que en Server API ponía a continuación CGI?) es la opción de instalarlo como CGI.

Cuando probé a instalarlo como módulo de Apache también tuve que descomprimir el fichero php-4.3.0-Win32.zip en c:\Apache, también se crea automáticamente un subdirectorio llamado php-4.3.0-win32 y también lo renombré y lo llamé php .. a secas... para que mi PHP estuviera en: c:\Apache\php.

Igual que en la instalación anterior, también busqué el fichero php4ts.dll que estaba en c:\Apache\php, y también lo copié y lo pegué en c:\windows\system, sobreescribíendo otro fichero que había en c:\windows\system con ese nombre.

Como podrás observar, la instalación de PHP la hice exactamente igual que en el caso anterior, lo que cambió un poquito... fué la configuración del fichero http.conf

Configurando el httpd.conf para PHP como módulo de Apache

Abrí con block de notas el fichero httpd.conf (me refiero siempre al fichero original que se crea al instalar Apache) que estaba en c:\Apache\conf, y busqué... una línea en la que decía DirectoryIndex index.html index.html.var y la cambié por...

       DirectoryIndex index.html index.php index.php3 index.htm index.html.var
Busqué también dos líneas -en httpd.conf- que decían:

    # Example:
    # LoadModule foo_module modules/mod_foo.so


e inserté delante de ellas una línea que dice así:
       LoadModule php4_module c:/Apache/php/sapi/php4apache.dll 
¡¡Cuidado..!! En esta línea he puesto la ruta completa -tal como tengo hecha mi instalación- hasta la librería php4apache.dll

Si tienes una instalación distinta, no te olvides de modificarla y recuerda tambíen que lo de poner c:/Apache/php/sapi/php4apache.dll con las / así... no es un error... para la configuración de Windows hay que ponerlas exactamente así.. ;-)


Busqué otra línea que decía:

    ClearModuleList

e inserté -debajo e inmediatamente después de ella- lo siguiente:
       AddModule mod_php4.c 
y por útimo, busqué otra línea que decía:

    AddType application/x-tar .tgz

e inserté encima de ella lo siguiente:
        AddType application/x-httpd-php .php .phtml  
guardé los cambios y ... listo...el bote.. el fichero httpd.conf ya está configurado..

Configuración del php.ini como módulo de Apache

Utilicé la misma configuración del php.ini te comento en la página anterior (como CGI). Solo una mínica diferencia...

Donde dice: ; cgi.force_redirect = 1 no la descomenté (no quité el punto y coma que va delante).

Hecha está salvedad, el resto de la configuración la hice exactamente igual que la que te comenté en la página anterior.


Probando la configuración como módulo de Apache

También en este caso -igual que en el anterior- utilicé el fichero info.php. También pulsé Inicio.. Programas...Apache httpd Server y.. Start Apache in Consola... también se me abrió la ventanita de MS-DOS con el cursor intermitente... también la minimicé, abrí el Explorer y escribí la dirección: http://127.0.0.1/info.php (también habría funcionado escribiendo http://localhost/info.php) y me apareció esto...


Fíjate que ahora... donde dice: Server API no pone CGI sino Apache. Eso parece indicar que PHP funciona correctamente, solo que ahora lo hace como... módulo de Apache.

Me alegré un montón... toda una vida usando el flavour CGI... sin saberlo y ahora... ya puedo elegir flavour

Quizá utilice CGI en días de semana... y módulo de Apache para los domingos... Será cuestión de pensarlo... ;-)

Sugerir a un/a amig@ Envíame tus comentarios
Anterior
Indice
Siguiente