XAMPP: Couldn't start Apache (Windows 10)
Update: 15th May, 2018:
The latest Windows 10 update (re-)activated the World Wide Web Publishing Service (in German: WWW-Publishingdienst). This might depend on the options you select during the configuration of the update you can make afterwards.
Update: 4th August, 2015:
If you have done clean installation of Windows 10, you may not have the Word Wide Web Publishing Service. In that case, simple WAMP/XAMPP installation should work fine.
If it doesn't, try installing Visual C++ Redistributable and then re-install WAMP/XAMPP.
I was facing a similar problem with WAMP. In Windows 10 TP, the Word Wide Web Publishing Service comes pre-installed. This is related to IIS and you can remove it if you don't need it.
This blocks the port 80
, making Apache act weirdly. You can do the following and try again.
- Go to Start, type in services.msc
- Scroll down in the Services window to find the World Wide Web Publishing Service.
- Right click on it and select Stop.
This should make port 80 free and restarting WAMP/XAMPP should get you up and running!
There are other ways to do fix this. See Make WAMP Work On Windows 10.
Apache Server (xampp) doesn't run on Windows 10 (Port 80)
I had the same problem on windows 10, IIS/10.0 was using port 80
To solve that:
- find service "W3SVC"
- disable it, or set it to "manual"
French name is: "Service de publication World Wide Web"
English name is: "World Wide Web Publishing Service"
german name is: "WWW-Publishingdienst" – thanks @fiffy
Polish name is: "Usługa publikowania w sieci WWW" - thanks @KrzysDan
Russian name is "Служба веб-публикаций" – thanks @Kreozot
Italian name is "Servizio Pubblicazione sul Web" – thanks @Claudio-Venturini
Español name is "Servicio de publicación World Wide Web" - thanks @Daniel-Santarriaga
Portuguese (Brazil) name is "Serviço de publicação da World Wide Web" - thanks @thiago-born
Alternatives :
- Another solution is to shutodwn the service via an admin console with command
sc stop W3SVC
- see community wiki from Tobias Hochgürtel Apache Server (xampp) doesn't run on Windows 10 (Port 80)
Edit 07 oct 2015: For more details, see Matthew Stumphy's answer Apache Server (xampp) doesn't run on Windows 10 (Port 80)
XAMPP - Apache could not start - Attempting to start Apache service
I realized it was a port issue since I was running IIS and other web servers in my machine. But I was more interested to see a detailed error message with the port number in the UI.
Seems like it was not logged in the UI or log file (at least in my case), but in the Event viewer (Control panel -> View Event Logs). Under the Even viewer -> Windows Logs -> Application
I could see a permission error something like the below one:
An attempt was made to access a socket in a way forbidden by its access permissions. : AH00072: make_sock: could not bind to address 0.0.0.0:443
To fix this permission issue for SSL port, Please change the below line in httpd-ssl.conf (C:\xampp\apache\conf\extra)
# When we also provide SSL we have to listen to the
standard HTTP port (see above) and to the HTTPS port
Listen xxx
Replace XXX with any valid port number that is open in your machine
If you are having issues with Port 80, then change the httpd.conf file (C:\xampp\apache\conf)
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 127.0.0.1:8000
I have also summarized other solutions that I came across:
- Most often Skype blocks the Apache port. So terminate it and try again.
- Find the process id (PID) that is using the Blocked port ( netstat -ano) and kill the corresponding process in Windows Task Manager.
XAMPP Apache won't start
I reinstalled it in another drive and that fixed it. But I have no idea what caused the problem in the first place.
Apache is not running from XAMPP Control Panel ( Error: Apache shutdown unexpectedly. This may be due to a blocked port)
There are many possible answers for this problem. The most common and most likely is that you're running another program which is blocking port 80 or 443. If you've installed Skype, then you've found your problem! Change apache's port settings to 81 and apache will work. There's a good tutorial on that To check this you can open up your command line by clicking the start menu, and typing 'cmd', and enter the command
netstat -nab
this wil return a list of programs that will vaguely resemble this pattern
[someprogram.exe]
UDP [fe80::numbers:numbers:numbers:numbers%numbers]:portnumber
You need to find a line (or lines) ending in :80 and terminate them in order to start apache. If there is no line ending in :80, there are more things you can do.
First, navigate to xampp's directory (default is c:\xampp) and double click apache_start.bat. This will open up a comand line and return more detailed errors about why apache can't run. Mostly, be looking for syntax errors that you could've created by editing your httpd.conf, or httpd-ssl.conf files. This is very easy to do if you've edited it and are a new user.
If still this fails, your last hope is to check the apache error log by clicking on the logs tab in apache's row in the xampp control panel and clicking error log.
If none of this works, don't give up! You got this!
Edit: If you change the port of apache, you will also have to go into httpd.conf (located in xampp/apache/conf) and near line 184, replace
ServerName localhost:80
with
ServerName localhost:81
It is also possible to specify port 81 in the url of your localhost, i.e.
localhost:81/my_project.php
XAMPP on Windows - Apache not starting
I was able to fix this!
Had the same problems as stated above, made sure nothing was using port 80 and still not working and getting the message that Apache and Mysql were detected with the wrong path.
I did install XAMPP once before, uninstalled and reinstalled. I even manually uninstalled but still had issues.
The fix. Make sure you backup your system first!
Start Services via Control Panel>Admin Tools (also with Ctrl+R and
services.msc
)Look for Apache and MySQL services. Look at the patch indicated in the description (right click on service then click on properties). Chances are that you have Apache listed twice, one from your correct install and one from a previous install. Even if you only see one, look at the path, chances are it's from a previous install and causing your install not to work. In either case, you need to delete those incorrect services.
a. Got to command prompt (run as administrator): Start > all programs > Accessories > right click on Command Prompt > Select 'run as administrator'
b. on command prompt type
sc delete service
, where service is the service you're wanting to delete, such as apache2.1 (orsc delete Apache2.4
). It should be exactly as it appears in your services. If the service has spaces such as Apache 2.1 then enter it in quotes, i.e. sc delete "Apache 2.1"c. press enter. Now refresh or close/open your services window and you'll see it`s gone.
DO THIS for all services that XAMPP finds as running with an incorrect path.
Once you do this, go ahead and restart the XAMPP control panel (as administrator) and voila! all works. No conflicts
Related Topics
Installing Mcrypt Extension for PHP on Osx Mountain Lion
Load Blade Assets with Https in Laravel
Call to Undefined Method Pdo::Execute()
Accessing JSON Array After JSON_Decode/Multidimensional Array
Increasing PHP Memory_Limit. at What Point Does It Become Insane
Which Compression Method to Use in PHP
Difference Between Break and Continue in PHP
Php's Array_Map Including Keys
Optimizing Kohana-Based Websites for Speed and Scalability
Get Characters After Last/In Url
Why Use Sprintf Function in PHP
Push Notifications from Server to User with PHP/Javascript