Error php_mbstring.dll en servidor web Apache 2.2, solucion
Estos dias he tenido en el servidor un problema que me traia por el camino de la amargura y no sabia por donde atacarlo ni como solucionarlo, no tenia ni idea de que pasaba.
Cada cierto tiempo, cada 5 o 6 horas de uso, el servidor web Apache 2.2 se colgaba, no daba ningun mensaje de error, pero si intentabas entrar en mi blog, no aparecia nada, pagina en blanco. Intentaba ver que estaba pasando en el servidor y todo parecia que iba bien, conexion OK, servicios arriba, carga de CPU a 3%, carga en RAM 500MB, nada, todo era normal, menos una cosa, cada vez que intentaba reiniciar el servidor Apache, me salia este error que os muestro en las imagenes de arriba. Si leeis el primer error, vereis que dice algo como que ya existe otro servicio escuchando por el puerto 80. Al intentar cerrar esta ventana, me salia automaticamente el siguiente error, una dll que no es capaz de cargar, bueno, nunca jamas me habia salido este error en los años que llevo con Apache, que no son pocos.
Reiniciando la maquina entera, el blog volvia a la vida, pero eso no era solucion, era una gran mierda, hasta programe reinicios automaticos cada 6 horas por que estaba desesperado y no sabia donde buscar. Hasta que me puse a buscar a conciencia y en una pagina inglesa, a otro colega le pasaba lo mismo y no sabia por que era, pues antes no le habia salido nunca, como a mi.
Segun he podido ver en la evolucion del servidor despues de aplicar la solucion que os voy a dar, es debido a la instalacion de «algun» plugin de WordPress (no se cual, que «toca» algo del PHP pero NO modifica la carga de la dll en cuestion, osea, que hace uso de la dll, pero no es capaz de modificar el php.ini por que ESTA SIN RENOMBRAR EN APPSERV, SE DEBE RENOMBRAR y descomentar la funcion de carga de la dll. Por pasos lo veremos mejor, yo uso Appserv, por lo que la ruta de los archivos puede variar, pero el nombre de los archivos deberia coincidir, intentare hacerlo lo mas generico posible:
1.- Localizar el php.ini, en el caso de Appserv, esta en la siguiente ruta: C:\Appser\php5\php.ini
ATENCION, IMPORTANTE: Si no habeis tocado el php.ini todavia, se llamara php.ini-dist o algo similar, debies renombrarlo a php.ini, sino, aunque hagais modificaciones, no las cargara.
2.- Una vez localizado y renombrado el php.ini, localizar la linea ;extension=php_mbstring.dll, fijaros en que tiene un «;» delante, quitarlo para que se cargue la dll, guardar los cambios.
Para buscar rapido la linea, editar el php.ini con el blog de notas, ir a Edicion -> Buscar -> php_mbstring.dll
3.- Una vez guardados los cambios, parar el servidor Apache y volver a iniciarlo, una vez iniciado, REINICIARLO otra vez, si todo ha ido bien, no deberia de salir este error.
Un Tera de gracias!!!me ayudaste muchisimo.
Me alegro que te sirviera.
que tal hermano. lo hice tal cual indicaste en el tuto pero nada. me sigue apareciendo el error de que no encuentra el php_mbstring.dll. el tener un S.O x64 no deberia haber problema?
PUes no se que decirte, no deberia importar ya que tocas el php.ini y es indiferente del sistema que tengas x86 o x64.
¿Cual es tu problema? ¿Tambien te sale esa ventana de error?
Un saludo jose