Post actualizado el día October 24, 2026 by DeiviSanzPlay
XAMPP remains the preferred local environment for those who develop with PHP and MySQL on Windows, macOS, or Linux. Its installation is simple, but when something fails, the on-screen message is usually brief and not very helpful. This guide gathers the most common failures and how to resolve them without reinstalling everything from scratch.
Apache won’t start: port 80 is in use
This is the most frequent error. Skype, IIS, some printing services, or certain update agents occupy port 80 before Apache. To confirm it, open a terminal and run netstat -ano | findstr :80 on Windows or lsof -i :80 on macOS and Linux. If a foreign process appears, close it or change Apache’s listening port by editing httpd.conf: replace Listen 80 with Listen 8080 and also update ServerName localhost:8080. Then restart the module from the XAMPP control panel.
MySQL stops on its own or won’t start
When MySQL won’t start, there is almost always another instance of the service running in the background or a corrupted data file. Check port 3306 with the same tools as above. If the conflict persists, open my.ini and change port=3306 to port=3307. In case of corruption, locate the mysql/data folder, make a backup, and delete the ib_logfile0 and ib_logfile1 files; XAMPP will regenerate them on startup.
“Access denied for user root” error
This occurs after changing the root password and forgetting it, or when importing a database with different credentials. The quickest solution is to stop MySQL, open a console as administrator, and run mysqld –skip-grant-tables. From another window, log in with mysql -u root and update the password with ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_password’;. Restart the service and try again.
phpMyAdmin shows “The server is not responding”
This warning is usually due to an incorrect host configuration. Verify that in config.inc.php the host parameter points to 127.0.0.1 instead of localhost, especially if the system’s hosts file has been modified. It is also advisable to check that the declared port matches MySQL’s.
Blank page or error 500 when running PHP
Syntax errors are not always displayed. Edit php.ini and enable display_errors = On, in addition to setting error_reporting = E_ALL. If you work with frameworks, check the upload_max_filesize and post_max_size limits, since low values cause silent failures when uploading files.
Permissions and locked files on Windows
When Apache cannot read a project, check that the htdocs folder is not synced with OneDrive, which often locks files in use. Move the projects to a simple local path, such as C:xampphtdocs, and avoid paths with special characters or spaces.
Before resorting to a full reinstall, check the log files: apache/logs/error.log and mysql/data/*.err contain the exact clue to the problem. Stopping the services, fixing the specific conflict, and restarting them resolves most issues in a few minutes.