Post actualizado el día octubre 24, 2026 by DeiviSanzPlay
XAMPP: por qué falla y cómo arreglarlo sin perder la cabeza
XAMPP es el entorno de desarrollo local más extendido para probar sitios PHP y bases de datos MySQL. Su popularidad no lo libra de contratiempos: puertos ocupados, servicios que no arrancan, permisos de carpetas o versiones de PHP desalineadas son los culpables habituales. Esta guía repasa los fallos más frecuentes y ofrece pasos concretos para resolverlos.
Apache no arranca: el clásico conflicto de puertos
El síntoma más común es el mensaje que indica que Apache se detuvo inesperadamente. Casi siempre detrás está el puerto 80 ocupado por Skype, IIS o el servicio World Wide Web Publishing. Para confirmarlo, abre una consola y ejecuta netstat -ano | findstr :80 en Windows; en macOS o Linux usa lsof -i :80. Si aparece un proceso ajeno, ciérralo o cambia el puerto de escucha en httpd.conf (línea Listen 80) por 8080. Recuerda actualizar también ServerName localhost:8080 y acceder a http://localhost:8080.
MySQL/MariaDB se niega a iniciar
Cuando el panel muestra MySQL en rojo, revisa el archivo mysql_error.log dentro de xampp/mysql/data. Dos causas destacan: otra instancia de MySQL ya instalada en el sistema o un archivo ibdata1 corrupto tras un apagado brusco. En el primer caso, detén el servicio en services.msc. En el segundo, renombra la carpeta data y vuelve a ejecutar mysql_install_db desde la consola de XAMPP; perderás las bases de datos, así que antes copia la carpeta a un lugar seguro.
Error 403 Forbidden o acceso denegado a phpMyAdmin
La configuración de seguridad de XAMPP restringe el acceso remoto. Abre xampp/apache/conf/extra/httpd-xampp.conf y localiza el bloque <Directory «C:/xampp/phpMyAdmin»>. Cambia Require local por Require all granted solo si trabajas en una red de confianza. Guarda y reinicia Apache. Si el problema persiste, comprueba que la ruta real coincida con la declarada, especialmente cuando instalaste XAMPP en otra unidad.
PHP no carga extensiones o muestra la versión equivocada
Editar php.ini sin reiniciar Apache es un error frecuente: los cambios no surten efecto. Verifica la ruta activa con phpinfo() y asegúrate de modificar el archivo correcto (en Windows, xampp/php/php.ini). Si una extensión como mysqli o curl no aparece, elimina el punto y coma inicial de la línea correspondiente. Para convivir con varias versiones de PHP, utiliza el selector del panel de control, que ajusta automáticamente el módulo de Apache.
Permisos y rutas con caracteres especiales
Instalar XAMPP dentro de «Archivos de programa» o en una carpeta con tildes provoca fallos silenciosos en scripts que escriben archivos. La recomendación es una ruta simple, por ejemplo C:xampp. En Linux, ejecuta chmod -R 755 /opt/lampp/htdocs y asegúrate de que tu usuario pertenece al grupo propietario de la carpeta para evitar errores de escritura al subir imágenes o generar cachés.
El panel de control no responde
Si la ventana de XAMPP se congela, cierra todos los procesos desde el administrador de tareas (xampp-control.exe, httpd.exe, mysqld.exe) y vuelve a abrirlo con permisos de administrador. En algunos equipos con antivirus agresivo, añadir la carpeta de instalación a las exclusiones evita bloqueos intermitentes de los binarios.
Comprobación final
Tras cada ajuste, reinicia los módulos desde el panel y visita http://localhost/dashboard. Si la página carga y phpMyAdmin abre sin avisos, el entorno está operativo. Documenta los cambios realizados en httpd.conf y php.ini: te ahorrará repetir el diagnóstico en la próxima actualización.