Informática y Software Práctico

Solución de errores en XAMPP: guía práctica para restaurar tu servidor local

Post actualizado el día octubre 24, 2026 by DeiviSanzPlay

XAMPP es probablemente el entorno de desarrollo local más extendido entre quienes aprenden PHP, MySQL o WordPress. Su instalación es sencilla, pero cuando algo falla —y siempre falla algo— el mensaje que aparece en pantalla rara vez explica qué ocurrió. Esta guía repasa los fallos más frecuentes y cómo resolverlos sin reinstalar todo desde cero.

Apache no arranca: el clásico puerto 80 ocupado

El síntoma habitual es un cuadro de diálogo que indica que Apache se detuvo inesperadamente. En la mayoría de los casos, el puerto 80 o el 443 ya están siendo usados por otro proceso. Skype, IIS, algunos servicios de Adobe o incluso el propio servicio «World Wide Web Publishing» pueden estar escuchando ahí.

Para identificarlo en Windows, abre una consola como administrador y ejecuta netstat -ano | findstr :80. El número final de cada línea es el PID del proceso culpable; búscalo en el Administrador de tareas y deténlo. Si prefieres no tocar otros programas, edita httpd.conf y cambia Listen 80 por Listen 8080, y ServerName localhost:80 por localhost:8080. Recuerda ajustar también httpd-ssl.conf si usas HTTPS.

MySQL se cierra nada más iniciar

Cuando MySQL aparece en verde un segundo y vuelve a rojo, casi siempre hay una instancia previa de MySQL o MariaDB instalada como servicio de Windows, o los archivos de datos quedaron corruptos tras un apagón. Revisa el archivo mysql_error.log dentro de xampp/mysql/data: la línea final suele contener la pista real.

Si el error menciona InnoDB: Unable to lock ./ibdata1, detén el servicio MySQL del sistema con net stop mysql y vuelve a intentarlo. Si el problema es corrupción, renombra la carpeta data y copia la versión limpia de mysql/backup; perderás las bases de datos creadas, así que exporta antes siempre que sea posible.

Error «Access denied for user ‘root’@’localhost’»

Este mensaje en phpMyAdmin suele deberse a una contraseña que cambió y no se reflejó en la configuración. Abre xampp/phpMyAdmin/config.inc.php y revisa las líneas $cfg[‘Servers’][$i][‘password’] y [‘auth_type’]. Si olvidaste la clave de root, detén MySQL, inicia la consola con mysqld –skip-grant-tables, ejecuta ALTER USER ‘root’@’localhost’ IDENTIFIED BY »; y reinicia el servicio.

Página en blanco o error 500 al cargar un proyecto

Un PHP que no muestra nada normalmente esconde un error de sintaxis con display_errors desactivado. Edita php.ini, pon display_errors=On y error_reporting=E_ALL, guarda y reinicia Apache. Merece la pena tener activado también log_errors para consultar apache/logs/error.log, donde quedan registrados los fallos aunque la web no los muestre.

phpMyAdmin devuelve «The mbstring extension is missing»

Al actualizar XAMPP o migrar un php.ini antiguo, algunas extensiones quedan comentadas. Busca en el archivo las líneas extension=mbstring, extension=mysqli y extension=pdo_mysql y elimina el punto y coma inicial. Guarda y reinicia Apache para que los cambios surtan efecto.

Mensaje «XAMPP is not installed correctly» en Windows 10 u 11

Aparece cuando el programa se instaló en C:Program Files sin permisos adecuados o con una ruta que contiene caracteres especiales. Desinstala y vuelve a colocar XAMPP en C:xampp, ejecutando el instalador con clic derecho y «Ejecutar como administrador». Evita tildes y espacios en la ruta.

El panel de control no responde

Si la ventana de XAMPP queda congelada al iniciar, cierra todos los procesos xampp-control.exe desde el Administrador de tareas y relánzalo como administrador. En ocasiones el archivo xampp-control.ini se corrompe; bórralo y el programa regenerará uno nuevo con valores por defecto.

Antes de cualquier cambio, respalda las carpetas htdocs y mysql/data: son los dos lugares donde vive tu trabajo. Con esas copias y los pasos anteriores, la mayoría de incidencias de XAMPP se resuelven en pocos minutos sin necesidad de formatear el entorno.