Si estás aquí es porque XAMPP te está dando guerra. No es casualidad: es el entorno de desarrollo local más usado del mundo, y también uno de los que más quebraderos de cabeza genera cuando algo falla. En este artículo no voy a repetir la típica lista de manual. Voy a contarte cómo resolver los errores comunes en XAMPP de verdad, con los pasos que funcionan en 2026 y los detalles que casi nadie menciona.
Error MySQL shutdown unexpectedly: cuando la base de datos se cae sola
Este es el rey de los errores. Te levantas, arrancas XAMPP, y MySQL se apaga a los dos segundos. El mensaje error xampp mysql shutdown unexpectedly aparece una y otra vez. La causa más habitual no es un fallo del programa, sino un archivo de datos corrupto o un bloqueo en el puerto 3306.
Lo primero que debes hacer es mirar el archivo mysql_error.log dentro de la carpeta xamppmysqldata. Ahí te dirá exactamente qué tabla o qué archivo está fallando. Si ves algo como InnoDB: File .ibdata1: ‘open’ returned OS error 71, el problema es de corrupción.
La solución que funciona en la mayoría de casos: renombrar la carpeta data a data_old, crear una nueva vacía y copiar solo las carpetas de tus bases de datos (las que tienen el nombre de tu proyecto). Ojo, copia también el archivo ibdata1 si usas InnoDB, pero puede estar corrupto. Si no arranca, tendrás que restaurar desde un backup o exportar los datos desde otra instalación.
Otro clásico: el puerto 3306 ocupado por otro MySQL que se quedó colgado. Abre el Administrador de Tareas, busca mysqld.exe y mátalo. Luego reinicia el servicio desde el panel de XAMPP.
Puerto 80 ocupado: el error que te impide arrancar Apache
El error XAMPP puerto 80 ocupado es otro de los grandes. Apache no arranca porque otro programa está usando el puerto 80. En Windows, el culpable suele ser el servicio World Wide Web Publishing Service (IIS) o, a veces, Skype.
Para identificarlo, abre una terminal como administrador y ejecuta:
netstat -ano | findstr :80
Te dará un PID. Luego ve al Administrador de tareas, pestaña Detalles, y busca ese PID. Si es System (PID 4), normalmente es IIS o el propio Windows usando el puerto para algo. La solución más rápida y menos invasiva es cambiar el puerto de Apache en httpd.conf: busca Listen 80 y cámbialo por Listen 8080. También cambia ServerName localhost:80 por ServerName localhost:8080. Reinicia Apache y accede a http://localhost:8080.
Si prefieres liberar el puerto 80, puedes detener el servicio de IIS con net stop W3SVC desde una consola de administrador. Pero si necesitas IIS para otros proyectos, mejor cambia el puerto de XAMPP y olvídate de conflictos.
Apache shutdown unexpectedly: cuando el servidor web se apaga sin avisar
El error XAMPP Apache shutdown unexpectedly suele venir acompañado de un mensaje en el log. La causa número uno son los módulos que no cargan bien o una configuración rota en httpd.conf. Revisa el archivo xamppapachelogserror.log: casi siempre te dirá qué línea está fallando.
Otra razón frecuente: el antivirus. Muchos antivirus bloquean el archivo httpd.exe o el acceso a ciertas carpetas. Añade una exclusión para la carpeta de XAMPP y verás cómo deja de apagarse.
Si el log no dice nada claro, prueba a comentar los módulos que no uses (como mod_ssl o mod_perl) y reinicia. A veces, un módulo obsoleto es el que rompe todo.
MySQL no inicia: diagnóstico paso a paso
El error XAMPP MySQL no inicia puede deberse a tres cosas: puerto ocupado, archivos de datos corruptos o dependencias de Visual C++ faltantes. En Windows, XAMPP necesita las Visual C++ Redistributable (2015-2022). Si acabas de formatear el PC, instálalas antes de nada.
Luego, revisa el archivo my.ini. A veces, una línea mal puesta (por ejemplo, una ruta con espacios sin comillas) impide que MySQL arranque. Compara con el my.ini original de una instalación limpia.
Si el puerto 3306 está pillado, cambia el puerto en my.ini (busca port=3306) y pon port=3307. Recuerda actualizar también la configuración de tus aplicaciones (phpMyAdmin, WordPress, etc.) para que apunten al nuevo puerto.
Error “this may be due to a blocked port, missing dependencies”
Este mensaje aparece cuando MySQL no puede arrancar porque el puerto está bloqueado o falta alguna dependencia. Es muy típico en instalaciones nuevas. Además de revisar el puerto, comprueba que el servicio MySQL de Windows no esté corriendo por su cuenta. A veces, una instalación previa de MySQL Server deja un servicio activo que choca con XAMPP.
Ve a services.msc y busca cualquier servicio llamado MySQL o MariaDB. Si existe, deténlo y deshabilítalo. Luego reinicia XAMPP.
Si el error persiste, ejecuta XAMPP como administrador. En ocasiones, los permisos de carpeta impiden que MySQL escriba en data.
Error control.ini: el panel de control no funciona
El error XAMPP control.ini es menos frecuente, pero puede dejarte sin panel de control. Ocurre cuando el archivo control.ini se corrompe o no tienes permisos para escribirlo. La solución rápida: cierra XAMPP, borra control.ini (está en la carpeta raíz de XAMPP) y vuelve a abrir el panel. Se regenerará solo.
Si eso no funciona, ejecuta XAMPP como administrador. Y si nada, reinstala XAMPP sobre la misma carpeta (sin borrar tus proyectos) para restaurar los archivos del panel.
Puerto 80 en uso por “unable to open process with pid 4”
Este es un clásico en Windows 10 y 11. El PID 4 es el proceso System, que normalmente corresponde al kernel o a servicios como HTTP.sys. No puedes matarlo. La solución pasa por cambiar el puerto de Apache o desactivar el servicio que lo usa.
Abre una consola como administrador y ejecuta net stop http. Eso detiene el controlador HTTP de Windows. Luego, para que no vuelva a arrancar solo, deshabilita el servicio World Wide Web Publishing Service desde services.msc. Con eso, el puerto 80 queda libre para Apache.
Si no quieres tocar servicios del sistema, cambia Apache al puerto 8080 y listo. Es la vía más segura y rápida.
Consejos finales para no volver a pelearte con XAMPP
- Haz copias de seguridad de tus bases de datos antes de tocar nada. Un backup diario te salva la vida.
- No instales XAMPP en C:Program Files. Usa una ruta sin espacios, como C:xampp.
- Ejecuta siempre como administrador la primera vez que arranques el panel.
- Mantén actualizado XAMPP a la última versión estable. En 2026, la rama 8.2.x trae mejoras importantes de compatibilidad.
- Si algo se rompe, revisa los logs. El 90% de los errores de XAMPP se diagnostican mirando los archivos error.log de Apache y MySQL.
Y si después de todo esto sigues con problemas, plantéate usar Laragon o Docker para entornos locales. XAMPP sigue siendo útil, pero hay alternativas más modernas que evitan muchos de estos dolores de cabeza. Eso sí, si tu proyecto es antiguo o necesitas compatibilidad con PHP 5, XAMPP sigue siendo el rey.