Post actualizado el día October 24, 2026 by DeiviSanzPlay
XAMPP is the most widely used local development environment for setting up an Apache server with PHP and MySQL in just a few minutes. It works fine until one day the control panel shows a red message, the port appears to be in use, or the home page keeps loading. Before reinstalling everything, it’s worth checking the usual causes: they’re almost always resolved in less than ten minutes.
Apache won’t start: port 80 is taken
The classic symptom is a warning indicating that Apache shut down unexpectedly. It’s usually because another program is already listening on port 80 or 443. Skype, IIS, some printing services, or Windows’ own web server may be there. Open a console and run netstat -ano | findstr :80 to see the PID occupying the port; with tasklist you can identify the process and decide whether to close it or change the configuration.
The cleanest alternative is to move Apache to another port. In the XAMPP panel, click Config next to Apache, open httpd.conf, and replace Listen 80 with Listen 8080. Do the same in httpd-ssl.conf if you use HTTPS. Then go to http://localhost:8080. Remember to also adjust the project paths if your editor or WordPress expects the original port.
MySQL stops instantly
If MySQL shows green for a second and then shuts down, check the mysql_error.log file inside xampp/mysql/data. Two common causes: port 3306 is already used by another MySQL or MariaDB installation, or the data files became corrupted after a forced shutdown. Change the port in my.ini (port = 3307) and update the connection in your application.
When the error mentions InnoDB or table space is full, stop the service, back up the data folder, and run the repair from the XAMPP console with mysqld –innodb-force-recovery=1. If the failure persists, export the databases you can and recreate the data directory.
“Access denied for user root” error
This occurs when connecting to phpMyAdmin after changing the root password or when importing a project with old credentials. Open config.inc.php in phpmyadmin and verify the user and password values. If you forgot the password, enter safe mode with mysqld –skip-grant-tables, update the password, and restart the service.
The page shows a 403 or 404 error
A 403 usually indicates that an index.php file is missing from the project folder or that the DirectoryIndex directive doesn’t include it. The 404 appears when the project isn’t inside htdocs or the folder name has spaces or accents. Use simple names and confirm the path in the browser.
Permission and antivirus issues
On Windows, running the panel as administrator resolves many write blocks. On macOS and Linux, verify that your user can read and write to htdocs; a poorly applied chmod breaks PHP loading. Additionally, some antivirus programs intercept Apache’s local traffic: add an exclusion for the XAMPP folder.
When to actually reinstall
If after checking ports, logs, and permissions the server still doesn’t respond, export the databases and projects, uninstall XAMPP, delete the residual folder, and reinstall the latest version. Keeping the package up to date prevents incompatibilities with PHP 8 and reduces errors with extensions like openssl or mbstring.