Informática y Software Práctico

XAMPP no arranca Apache o MySQL: cómo repararlo paso a paso

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

XAMPP es el entorno de desarrollo local más usado para montar un servidor Apache con PHP y MySQL en pocos minutos. Funciona bien hasta que un día el panel de control muestra un mensaje rojo, el puerto aparece ocupado o la página de inicio se queda cargando. Antes de reinstalar todo, conviene revisar las causas habituales: casi siempre se resuelven en menos de diez minutos.

Apache no inicia: el puerto 80 está tomado

El síntoma clásico es un aviso indicando que Apache se cerró de forma inesperada. Suele deberse a que otro programa ya escucha en el puerto 80 o 443. Skype, IIS, algunos servicios de impresión o el propio servidor web de Windows pueden estar ahí. Abre una consola y ejecuta netstat -ano | findstr :80 para ver el PID que ocupa el puerto; con tasklist identificas el proceso y decides si cerrarlo o cambiar la configuración.

La alternativa más limpia es mover Apache a otro puerto. En el panel de XAMPP pulsa Config junto a Apache, abre httpd.conf y sustituye Listen 80 por Listen 8080. Haz lo mismo en httpd-ssl.conf si usas HTTPS. Después accede a http://localhost:8080. Recuerda ajustar también la ruta de los proyectos si tu editor o WordPress esperan el puerto original.

MySQL se detiene al instante

Si MySQL aparece en verde un segundo y se apaga, revisa el archivo mysql_error.log dentro de xampp/mysql/data. Dos causas frecuentes: el puerto 3306 ya lo usa otra instalación de MySQL o MariaDB, o los archivos de datos quedaron corruptos tras un apagado forzado. Cambia el puerto en my.ini (port = 3307) y actualiza la conexión en tu aplicación.

Cuando el error menciona InnoDB o table space is full, detén el servicio, haz copia de la carpeta data y ejecuta la reparación desde la consola de XAMPP con mysqld –innodb-force-recovery=1. Si el fallo persiste, exporta las bases que puedas y recrea el directorio de datos.

Error «Access denied for user root»

Ocurre al conectar con phpMyAdmin después de cambiar la contraseña de root o al importar un proyecto con credenciales antiguas. Abre config.inc.php en phpmyadmin y verifica los valores de user y password. Si olvidaste la clave, entra en modo seguro con mysqld –skip-grant-tables, actualiza la contraseña y reinicia el servicio.

La página muestra error 403 o 404

Un 403 suele indicar que falta un archivo index.php en la carpeta del proyecto o que la directiva DirectoryIndex no lo contempla. El 404 aparece cuando el proyecto no está dentro de htdocs o el nombre de la carpeta tiene espacios o tildes. Usa nombres simples y confirma la ruta en el navegador.

Fallos de permisos y antivirus

En Windows, ejecutar el panel como administrador resuelve muchos bloqueos de escritura. En macOS y Linux, verifica que tu usuario pueda leer y escribir en htdocs; un chmod mal aplicado rompe la carga de PHP. Además, algunos antivirus interceptan el tráfico local de Apache: añade una exclusión para la carpeta de XAMPP.

Cuándo reinstalar de verdad

Si tras revisar puertos, logs y permisos el servidor sigue sin responder, exporta las bases de datos y los proyectos, desinstala XAMPP, borra la carpeta residual y vuelve a instalar la versión más reciente. Mantener actualizado el paquete evita incompatibilidades con PHP 8 y reduce los errores de extensiones como openssl o mbstring.