Estoy intentando instalar un servidor web Apache con PHP en mi caja de Windows XP Pro, pero no estoy teniendo suerte.
Estoy tratando de imitar un servidor de producción, así que prefiero no tener lo último. El entorno prod produce 5.3.6; Me conformo con 5.3.5 en mi caja de Windows. * Para Apache, el entorno prod utiliza 2.0.63; He probado tanto la versión 2.0.64 como la 2.2.22 (me parece que coincidir con la versión del idioma es más importante que la versión del servidor web) y obtuve básicamente las mismas fallas. **
He estado siguiendo las instrucciones en esta página, y fallan constantemente cuando llega el momento de agregar este código al archivo httpd.conf:
LoadModule php5_module "c:/php/php5apache2_2.dll"
AddModule application/x-httpd-php .php
PHPIniDir "C:/php"
Las rutas del directorio son correctas, y c:/php/php5apache2_2.dll
Es un archivo real. Cuando intento reiniciar / iniciar el servidor Apache, aparece el mensaje "¡La operación solicitada ha fallado!" mensaje pop up. los logs/error.log
el archivo no es de ayuda; nada se le está escribiendo. (Por este error, quiero decir. El archivo existe y no está vacío.)
Cuando comento esas tres líneas, se inicia el servidor web, así que estoy bastante seguro de que el problema reside allí.
Estoy bastante seguro de que la instalación de PHP funcionó bien; Obtengo la salida que esperaría cuando corro php -v
desde la línea de comandos.
Cualquier consejo sobre lo que estoy haciendo mal es bienvenido y muy apreciado.
'* ¿Por qué? Porque la página de descarga indicó que quería VC6 (no VC9) si lo estoy ejecutando bajo Apache, y la página de archivo no tiene VC6 para 5.3.6; 5.3.5 fue lo más cerca que pude conseguir.
** - La actualización a 2.2.22 fue mi intento más reciente de resolver esto antes de venir aquí, así que eso es lo que estoy ejecutando en este momento. Me encantaría volver a la versión 2.0.64 para replicar mejor el entorno de producción, pero como dije, creo que la versión del idioma es más importante que el servidor web.
fuente
Respuestas:
Los fallos de inicio de Apache, particularmente en la configuración inicial, son a menudo el resultado de que no se encuentra un módulo en el orden de carga de DLL. (Suponiendo que los archivos de configuración están escritos correctamente.)
El primer problema es que está intentando cargar el controlador de Apache 2.2 en Apache 2.0, pero 2.2.22 debería haberse cargado.
:-P
¿Qué dice el registro de eventos del sistema? IIRC, la información útil se registra allí cuando Apache no se inicia.
¿Se puede iniciar Apache sin PHP habilitado?
¿Qué hace la salida de
httpd -t
decir desde un símbolo del sistema? Tendrás que estar en elApache\bin
carpeta para eso.¿La cuenta con la que está intentando ejecutar Apache tiene acceso de lectura a su carpeta PHP? ¿Tiene acceso de escritura a su carpeta de registro?
¿Estás tratando de cargar alguna extensión de PHP? Si es así, es tu
extension_dir
establecer correctamente en suphp.ini
?Hace
php -i
¿Desde una línea de comandos funciona? ¿Cuál es la salida dephp --ini
? ¿Está encontrando el archivo ini correcto?No agarraste un
nts
Versión de PHP (no segura para subprocesos), ¿verdad? Para cargar PHP como un módulo de Apache, necesita la versión segura para subprocesos.Finalmente, podría valer la pena considerar la ejecución de PHP como CGI en lugar de un módulo de servidor para fines de desarrollo. Hace que sea mucho más fácil cambiar las versiones de PHP para probar los efectos de actualizar el tiempo de ejecución.
- = - = -
Un servidor al que tengo acceso para ejecutar Apache 2.2 y PHP 5.2, usa las siguientes directivas:
fuente
AddType
.Cuesta un poco de dinero ($ 125), pero he aprovechado mucho el uso de WampDeveloper Pro . Para alguien como yo que no es un gran administrador de WAMP, simplificó enormemente el proceso de hacer que todo funcionara en conjunto para que pudiera concentrarme en las aplicaciones web que estaba instalando sobre la pila de software del servidor.
Pero también dijo que necesitaba usar versiones anteriores específicas de algún software, pero no está seguro de si este producto le permitirá hacerlo.
fuente