Informática y Software Práctico

Solución de errores en XAMPP: guía práctica

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

Por qué XAMPP falla y cómo resolverlo sin perder la cabeza

XAMPP es el entorno de desarrollo local más popular para quienes trabajan con PHP y MySQL. Su instalación sencilla esconde, sin embargo, una colección de fallos recurrentes que aparecen justo cuando más prisa tienes: Apache que no arranca, MySQL que se cierra solo, el famoso error de la zona horaria o el puerto 80 ocupado. Esta guía reúne los problemas más habituales y su solución error xampp paso a paso, con explicaciones claras para que puedas volver a programar en pocos minutos.

Apache no arranca: el conflicto de puertos

El síntoma clásico es el mensaje «Apache shutdown unexpectedly» en el panel de control. Casi siempre detrás está Skype, IIS, o algún servicio de Windows escuchando en el puerto 80. Para confirmarlo, abre una consola como administrador y ejecuta:

netstat -ano | findstr :80

La columna final muestra el PID del proceso que ocupa el puerto. Si no lo necesitas, ciérralo. Si prefieres convivir con él, edita httpd.conf desde el botón Config de Apache y cambia Listen 80 por Listen 8080, y también ServerName localhost:8080. Recuerda actualizar la URL de acceso a http://localhost:8080.

MySQL se detiene inesperadamente

Cuando MySQL aparece en rojo nada más iniciar, revisa primero si el puerto 3306 está siendo usado por otra instancia de MySQL o MariaDB instalada previamente. El archivo mysql_error.log, dentro de la carpeta data de MySQL, contiene la pista exacta. Otra causa frecuente es un archivo ibdata1 corrupto tras un apagado brusco: renombrarlo y dejar que XAMPP regenere las tablas del sistema suele devolver el servicio a la vida, aunque perderás las bases de datos de usuario, así que haz copia antes.

Error de zona horaria y contraseña de root

Al entrar en phpMyAdmin puede aparecer el aviso «The server is running with the –skip-grant-tables option» o un error relacionado con la zona horaria. La solución pasa por editar my.ini y añadir bajo [mysqld] la línea default-time-zone = ‘Europe/Madrid’ (ajusta a tu región). Si el acceso con el usuario root sin contraseña falla tras una actualización, abre la consola de MySQL desde XAMPP y ejecuta ALTER USER ‘root’@’localhost’ IDENTIFIED BY »; para restablecer el acceso por defecto en local.

El puerto 443 y las conexiones SSL

Si Apache arranca pero se cae al cargar el módulo SSL, comprueba que ningún otro programa esté usando el puerto 443. Cambiar Listen 443 por Listen 4443 en httpd-ssl.conf resuelve el conflicto. No olvides modificar también VirtualHost _default_:443 para mantener la coherencia.

phpMyAdmin muestra errores de sesión o cookies

El mensaje «Cannot start session without errors» suele deberse a permisos mal configurados en la carpeta temporal de PHP. Abre php.ini, localiza session.save_path y asegúrate de que apunta a una ruta existente y escribible, por ejemplo C:xampptmp. Reinicia Apache después del cambio.

Prevención: copias y rutas sin espacios

Instalar XAMPP en una ruta con espacios o caracteres especiales genera fallos difíciles de rastrear. Usa siempre C:xampp. Y antes de tocar archivos de configuración, duplica httpd.conf, my.ini y php.ini: así podrás revertir cualquier cambio en segundos y comparar el antes y el después con calma.

Cuándo reinstalar tiene sentido

Si tras revisar puertos, logs y permisos el entorno sigue sin responder, exporta tus bases de datos con mysqldump y tus proyectos de htdocs, y reinstala XAMPP en una versión estable. En muchos casos, un entorno limpio evita horas de diagnóstico y te devuelve un servidor local fiable para seguir desarrollando.