Apache does not start under XAMPP - Solution

If you were successfully running Apache Web Server under XAMPP and now it suddenly stopped working then please make sure that Port 80 is not being used by any other application such as SKYPE. I was experiencing the same problem of Apache not loading under XAMPP and it started working for me when I closed SKYPE to free the port number 80 so that Apache can use it.


Now, you’d be interested to know how come I was able to know which application was using what port number? Well here is the solution for all of you.

Are you trying to find out the ports each application is using or which application is using what port number or more specifically what application is using port 80? Here are step-by-step instructions for you to distinguish what port each application is using. More specifically what port is each service is using.

1. Open the Microsoft Command Prompt and enter the following command:
netstat -ano
-a means list all active connections and their ports. -o means include their process IDs. -n means display the port numbers numerically.

2. Now we are looking for port 80 — IIS, Apache and other web servers listen in port 80, so when you are having problems starting Apache, this technique will be useful. Here is the command.
C:>netstat -aon | findstr 0.0:80
The pipe symbol ( | ) means, that instead of the result of netstat being displayed on the screen, feed it’s result to the findstr process — we are looking specifically for the line which has 0.0:80 — you actually don’t need findstr, but I don’t want to scroll down and hunt down manually which app is using port 80. You might see something like this.
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 620
3. So, we came to know that process 620 is using port 80. You can now press CTRL-ALT-DEL now to show the Task Manager and open process window, and manually look up which app has the process ID 560, or you could enter
C:>tasklist | findstr 620
You may have to manually enable the PID in the view option.

tasklist is another Windows command line utility which shows you a list of all active processes, again I’d feed it to the findstr utility via the pipe operator, and voila — Skype is the culprit. Skype actually doesn’t have to use port 80, it can use other port numbers — but for some reason, it just does.