El Apache puede llegar a darnos algunos quebraderos de cabeza. En este caso hablaremos del caso en Apache con soporte php:
httpd.exe: Syntax error
on line 493 of C:/Archivos de programa/Apache Software Foundation/Apache2.2/conf/httpd.conf:
Cannot load C:/php/php5apache2.dll into server: No se puede encontrar el m\xf3dulo especificado.
El problema viene de la versión de PHP que instalemos.
Así que primero iremos a descargar PHP For Windows
Recordemos que las primeras pruebas se hicieron con la versión php-5.2.17-nts-Win32-VC6-x86 (versión Non Thread Safe) y nos arroja ERROR (el error antes mencionado)
Así que hemos probado después con la versión php-5.2.17-Win32-VC6-x86 y parece que funciona correctamente.
DESCRIPCIÓN DE LOS ERRORES PASO A PASO:
Una vez que instalamos el apache, y probamos en el navegador a poner localhost, comprobamos que FUNCIONA!.
Pero al hacer la Instalación y configuración de PHP siguiendo los pasos:
– Seguir las instrucciones del archivo install.txt
– Copiar el archivo de configuración php.ini-recommended como
php.ini en la carpeta del sistema (habitualmente c:\windows)
– Editarlo y cambiar lo siguiente:
• doc_root = c:\Archivos de programa\Apache
Software Foundation\Apache2.2\htdocs
• extension_dir = c:\php\ext
– Editar httpd.conf y añadir las líneas siguientes:
• LoadModule php5_module c:/php/php5apache2.dll
• AddType application/x-httpd-php .php
• DirectoryIndex index.html index.php
Reiniciar Apache
… nos arroja el siguiente error:
httpd.exe: Syntax error on line 493 of C:/Archivos de programa/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/php/php5apache2.dll into server: No se puede encontrar el m\xf3dulo especificado.
El fichero que no encuentra, esta en la ruta que especifica;
así que probamos a cambiar la línea
LoadModule php5_module C:/PHP/php5apache2.dll
por
LoadModule php5_module C:/PHP/php5apache2_2.dll
y produce el siguiente error:
“Apache is running a threaded mpm but your php module is not compiled to be threadsafe”:
Tras buscar e investigar por foros , podemos comprobar que parece tratarse de un problema por la versión, que puede ser del tipo
Thread Safe ó NON Thread Safe.
En este punto hemos instalado otras versiones de php y por ahora seguimos con los mismos problemas.
Vamos pues a resolverlo
CONFIGURACIÓN ADECUADA DE LOS ARCHIVOS PHP.INI y HTTPD.CONF (cuando instalemos soporte PHP en Windows, utilizando la versión NON Thread Safe de PHP)
- En el PHP.INI (C:/Windows):
;cgi.force_redirect configuration below
doc_root = c:\archivos de programa\Apache
Software Foundation\Apache2.2\htdocs
; The directory under uhich PH? opens the script. using /-username:
: if nonempty.
user_dir =
; Directory in which the loadable extensions (modules) reside.
extension_dir = c:\php\ext
- EN HTTPD.CONF:( C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf )
# LoadModule foo_module modules/mod_foo.so
#LoadModule php5_module C:/PHP/php5apache2.dll
La linea que habla de Load Module php, la comentamos y la dejamos donde está (REALMENTE, POR DEFECTO NO APARECE NADA):
Y vamos al final del docu y ponemos:
LoadModule php5_module “c:/php/php5apache2_2.dll”
addType application/x-httpd-php .php
DirectoryIndex index.html index.php
-REINICIAMOS APACHE.
-Creamos el archivo prueba.php en
C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs
Y ya funciona Apache correctamente.
Espero que te sea de utilidad, y si te ha gustado , comenta y comparte
Un saludo !
DirectoryIndex httpd.conf php.ini php5apache2 threaded mpm