Post actualizado el día octubre 17, 2026 by DeiviSanzPlay
Open XAMPP and the panel stays red. Apache refuses to start. Or MySQL dies two seconds after launch. If that’s your morning, welcome to the club. It’s the most repeated breakdown for anyone building local WordPress, Laravel or PHP projects, and here’s the thing: it’s almost never XAMPP’s fault. It’s port 80, your firewall, or a Windows service that sneaked in first.
Why XAMPP won’t start: the same three suspects, every single time
When XAMPP won’t start on Windows, roughly eight out of ten cases come down to a port conflict. Port 80 gets grabbed by Skype, IIS, Windows’ own web server, print agents, and even some Adobe apps. Port 3306 gets hijacked by any MySQL or MariaDB already installed as a Windows service.
The second suspect is the Windows firewall or an antivirus like Avast, Kaspersky or Defender running in aggressive mode. They block httpd.exe and mysqld.exe silently, and all you see is a red panel with zero explanation. No error dialog, no warning, nothing.
The third one is a dumb detail that trips up a lot of people: installing XAMPP inside Program Files without admin rights. Windows won’t let it write logs or start services from there. Move it to C:xampp and run it as administrator. That alone fixes a surprising number of cases.
Check the logs before you touch anything else
Before you start changing ports like a maniac, open the XAMPP control panel and hit the Logs button. You’ll find apache_error.log and mysql_error.log. In nine out of ten cases the first line tells you exactly what’s happening.
«make_sock: could not bind to address 0.0.0.0:80» means the port is occupied. «Access is denied» means permissions. «InnoDB: Unable to lock» means there’s already a MySQL process running somewhere. This one step separates people who fix XAMPP in five minutes from people who reinstall Windows for no reason.
If you skip the logs, you’re debugging blind. And debugging blind costs you an entire afternoon.
Find out which program is hogging port 80 on Windows
Open Command Prompt as administrator and run:
netstat -ano | findstr :80
You’ll get a list with the PID of whatever’s using port 80. Then run tasklist | findstr [PID] and you’ll see the name of the culprit. It’s usually Skype (kill «Use ports 80 and 443» in its advanced settings), IIS (stop the World Wide Web Publishing service), or the «Web Deployment Agent» service from Visual Studio.
If you don’t feel like fighting with any of them, just change Apache’s port. It’s cleaner and causes the least headaches long term. This is the trick that most often solves «XAMPP won’t start Apache or MySQL» across forums and support groups.
Change Apache and MySQL ports in XAMPP step by step
Close the XAMPP panel entirely. Then edit these files with Notepad++ or VS Code running as administrator:
- C:xamppapacheconfhttpd.conf: find Listen 80 and change it to Listen 8080. Also find ServerName localhost:80 and set it to 8080.
- C:xamppapacheconfextrahttpd-ssl.conf: change Listen 443 to Listen 4433.
- C:xamppmysqlbinmy.ini: if 3306 is taken, change port=3306 to port=3307. Careful, you’ll have to update the connection in your PHP projects, phpMyAdmin included.
Save, start XAMPP, and test. If Apache turns green, go to http://localhost:8080 and you’re done. Don’t forget to update your WordPress wp-config.php or Laravel .env with the new port, otherwise you’ll get connection errors that look unrelated.
Run XAMPP as administrator and remove the firewall block
Right-click the XAMPP icon → Properties → Compatibility → check «Run this program as administrator». Apply the same to xampp-control.exe and to the Apache and MySQL executables.
If the firewall is giving you trouble, add an inbound rule for httpd.exe and mysqld.exe manually. Straight talk: disabling your entire antivirus is not a solution, it’s a patch that will blow up in your face later. Make the exception properly and move on.
What to do if XAMPP won’t open the control panel at all
You double-click xampp-control.exe and absolutely nothing happens. When that occurs, it’s almost always one of these:
- There’s already an instance running in the background. Open Task Manager and kill any xampp-control.exe process.
- The installation is corrupted. Reinstall XAMPP from apachefriends.org using the full installer, not the updater.
- The Visual C++ Redistributable is missing. XAMPP 8.x needs VC++ 2015-2022. Without it, the panel won’t start no matter what you do.
Another frequent cause in 2026: having XAMPP in a OneDrive-synced folder or on a network drive. Windows blocks .exe files in those locations. Move it to C:xampp without a second thought.
Specific errors: Apache crashes, MySQL won’t start, corrupted InnoDB
If Apache starts and dies after two seconds, check whether you have an httpd.conf with duplicate modules or an incompatible PHP version. In recent XAMPP, each major PHP version needs its own binary. Don’t mix folders.
If MySQL won’t start and the log says «InnoDB: File .ibdata1 was not found», your database is corrupted. Rename C:xamppmysqldata to data_old, start MySQL (it recreates a clean folder), then recover your databases from data_old folder by folder. Tedious, but it works.
Update XAMPP: the cause almost nobody checks
Old XAMPP versions (7.x, 8.0) carry known bugs on Windows 11 24H2 and 25H2. If you’ve had the same installation for two years, the problem may simply be that you’re running obsolete software. Grab the latest build from apachefriends.org, install it in a parallel folder, and migrate your projects. Don’t update on top of the old one, it breaks configurations.
And one warning: XAMPP is not meant for production. It’s a development environment, full stop. If you need a real server, go with Docker, Laragon or WSL2. Laragon actually handles ports more intelligently and plays nicer with Windows than XAMPP in many scenarios.
Operational checklist: do it in this order
- Read the XAMPP panel logs.
- Run netstat -ano | findstr :80 to see who’s using the port.
- Change Apache to 8080 and MySQL to 3307 if there’s a conflict.
- Run XAMPP as administrator and add firewall exceptions.
- Move the installation to C:xampp, away from OneDrive or weird paths.
- Install the Visual C++ Redistributable if the panel won’t open.
- Update XAMPP to the latest version if nothing else works.
With this, «XAMPP won’t start on my PC» stops being a mystery and becomes something you fix in less time than it takes to brew a coffee. And if after all this it’s still failing, the problem isn’t XAMPP: it’s your Windows. Time to repair it with sfc /scannow and DISM /Online /Cleanup-Image /RestoreHealth.




