Why won't Apache start in XAMPP installation?
Solution 1
It seems that port 80 and 443 is used by another program. From my experince - open Skype. Go to Tools -> Options -> Advanced -> Connection. Please uncheck "use port 80 and 443 as alternatives...."
Then, try to restart Apache.
Solution 2
I tried this and it worked really well...
As you have already figured the port 80 is in use by something with pid 4
This application's detailed info can be seen using the details tab on the task manager window.
However I found out the application is not writable and hence I figured it shouldn't be touched.
Instead I changed the port of the apachae server on xampp to be 85
Open xampp and click on config in front of apache then select the first option that appears allowing you to open httpd.conf and then in the notepad file that opens up, find the word listen and go to the 4th word that it finds.
It will read something like Listen 80
Change this to any number except 80 (like 85) and voila it work
Solution 3
Opening the XAMPP control panel as Administrator worked for me.
Solution 4
Port 80 in use by "Unable to open process" with PID 4!
A process with a PID of 4 that is taking port 80, is almost always the Window's HTTP.SYS
Service. It's a type of a proxy service for other services. And it's safe to disable it in most cases.
From command-line, Run As Admin.
net stop http
sc config http start= disabled
Or you can switch it's Startup Mode to "On Demand".
For more options and also a list of other port 80 Services see Opening Up Port 80 For Apache to Use On Windows.
Solution 5
The solution for me was to:
1) Stop IIS (stop the "World Wide Web Publishing Service" and set its startup type to Manual)
2) Stop the "Web Deployment Agent Service" and set its startup type to Manual.
...as detailed in http://www.sitepoint.com/unblock-port-80-on-windows-run-apache/
Timothy Armoo
Updated on July 16, 2022Comments
-
Timothy Armoo almost 2 years
I've taken the first steps to learning PHP - think it would be a good step in the right direction. I would like some help however on installing XAMPP. I have downloaded the file and all that through the Apache Friends site, but when I head to to control panel, I get numerous errors.
This is what it says for me:
**10:21:53 [Apache] Problem detected! 10:21:53 [Apache] Port 80 in use by "Unable to open process" with PID 4! 10:21:53 [Apache] Apache WILL NOT start without the configured ports free! 10:21:53 [Apache] You need to uninstall/disable/reconfigure the blocking application 10:21:53 [Apache] or reconfigure Apache and the Control Panel to listen on a different port 10:21:53 [Apache] Problem detected! 10:21:53 [Apache] Port 443 in use by "C:\Program Files (x86)\Skype\Phone\Skype.exe" with PID 3748! 10:21:53 [Apache] Apache WILL NOT start without the configured ports free! 10:21:53 [Apache] You need to uninstall/disable/reconfigure the blocking application 10:21:53 [Apache] or reconfigure Apache and the Control Panel to listen on a different port 10:21:53 [main] Starting Check-Timer 10:21:53 [main] Control Panel Ready**
Could someone please tell me what this means and how I remedy it? Thanks very much.
-
Wiggler Jtag over 10 yearsDoes not look like these explanations belong to SO. People are setting here webservers, so I don't think they need tutorials to how to open settings in skype.
-
teo over 10 years@Wiggler Jtag - sometimes the picture is more useful than a lot of texts. Not all users are so experienced. If the picture irritates you, I can delete it :-).
-
Wiggler Jtag over 10 yearsHehe, nah its ok :) Yes not experienced and coming here with questions like what is port, thats the problem :/ Dont like opening 9999th same topics :)
-
Timothy Armoo over 10 yearsThanks for all your helps. I have just goen through the whole skype process as been advised but still no luck, now what I get is: g02:00:30 [Apache] Problem detected! 02:00:30 [Apache] Port 80 in use by "Unable to open process" with PID 4! 02:00:30 [Apache] Apache WILL NOT start without the configured ports free! 02:00:30 [Apache] You need to uninstall/disable/reconfigure the blocking application 02:00:30 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
-
teo over 10 yearsYou can try to run 'netstat -bano' to see which application is listening on port 80. See How do I free my port 80 on localhost windows. Or you can configure Apache to listen on another port.
-
Timothée HENRY over 10 years+1 That worked for me. Thank you. Also explained here: stackoverflow.com/a/14481266/190791