Post actualizado el día octubre 24, 2026 by DeiviSanzPlay
XAMPP sigue siendo el entorno local preferido por quienes desarrollan con PHP y MySQL en Windows, macOS o Linux. Su instalación es sencilla, pero cuando algo falla el mensaje en pantalla suele ser escueto y poco orientativo. Esta guía reúne los fallos más habituales y cómo resolverlos sin reinstalar todo desde cero.
Apache no arranca: el puerto 80 está ocupado
Es el error más frecuente. Skype, IIS, algunos servicios de impresión o ciertos agentes de actualización ocupan el puerto 80 antes que Apache. Para confirmarlo, abre una terminal y ejecuta netstat -ano | findstr :80 en Windows o lsof -i :80 en macOS y Linux. Si aparece un proceso ajeno, ciérralo o cambia el puerto de escucha de Apache editando httpd.conf: sustituye Listen 80 por Listen 8080 y actualiza también ServerName localhost:8080. Después reinicia el módulo desde el panel de control de XAMPP.
MySQL se detiene solo o no inicia
Cuando MySQL no arranca, casi siempre hay otra instancia del servicio corriendo en segundo plano o un archivo de datos corrupto. Revisa el puerto 3306 con las mismas herramientas anteriores. Si el conflicto persiste, abre my.ini y modifica port=3306 por port=3307. En caso de corrupción, localiza la carpeta mysql/data, haz una copia de seguridad y elimina los archivos ib_logfile0 e ib_logfile1; XAMPP los regenerará al iniciar.
Error «Access denied for user root»
Ocurre tras cambiar la contraseña de root y olvidarla, o al importar una base de datos con credenciales distintas. La solución más rápida pasa por detener MySQL, abrir una consola como administrador y ejecutar mysqld –skip-grant-tables. Desde otra ventana entra con mysql -u root y actualiza la clave con ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘nueva_clave’;. Reinicia el servicio y prueba de nuevo.
phpMyAdmin muestra «The server is not responding»
Este aviso suele deberse a una configuración de host incorrecta. Verifica que en config.inc.php el parámetro host apunte a 127.0.0.1 en lugar de localhost, especialmente si el archivo de hosts del sistema está modificado. También conviene comprobar que el puerto declarado coincide con el de MySQL.
Página en blanco o error 500 al ejecutar PHP
Los errores de sintaxis no siempre se muestran. Edita php.ini y activa display_errors = On, además de ajustar error_reporting = E_ALL. Si trabajas con Frameworks, revisa los límites de upload_max_filesize y post_max_size, ya que valores bajos provocan fallos silenciosos al subir archivos.
Permisos y archivos bloqueados en Windows
Cuando Apache no puede leer un proyecto, comprueba que la carpeta htdocs no esté sincronizada con OneDrive, que a menudo bloquea archivos en uso. Mueve los proyectos a una ruta local simple, como C:xampphtdocs, y evita rutas con caracteres especiales o espacios.
Antes de recurrir a una reinstalación completa, revisa los archivos de registro: apache/logs/error.log y mysql/data/*.err contienen la pista exacta del problema. Detener los servicios, corregir el conflicto concreto y volver a iniciarlos resuelve la mayoría de incidencias en pocos minutos.