I'm using XAMPP, and I can start Apache, but, MySQL (PhpMyAdmin) start!
When I start, I get this error;
10:07:49 [Apache] Error: Apache shutdown unexpectedly.
10:07:49 [Apache] This may be due to a blocked port, missing dependencies,
10:07:49 [Apache] improper privileges, a crash, or a shutdown by another method.
10:07:49 [Apache] Press the Logs button to view error logs and check
10:07:49 [Apache] the Windows Event Viewer for more clues
10:07:49 [Apache] If you need more help, copy and post this
10:07:49 [Apache] entire log window on the forums
I search on it, and, change the port of Apache in Config -> Service and Port setting. I have;
Service name : Apache2.4
Main Port : 122
SSL port : 444
I also uninstall Skype (Windows 8/10/Metro version). Nothing Working. In the httpd.conf I have;
Listen 122
ServerName localhost:122
I start it via apache_start.bat and get;
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions. : AH00072: make_sock: could not bind to address [::]:445
(OS 10013)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:445
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs
Please not that all the LOGS files dosen't exsist! Skype is uninstalled.
If you need more informations, please ask me.
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.
This should make port 80 free and restarting WAMP/XAMPP should get you up and running!
There are other ways to do fix this. http://praveenpuglia.com/make-wamp-work-on-windows-10-technical-preview/
so after playing around really all you have to do is change 2 lines in the httpd.conf file,
Listen 80 change to Listen 122 (or anything else you want)
and
ServerName Localhost:80 to Localhost:122 ( or the port you changed above)
then it all should fire right up :P
honestly i think this is just the xampp application not knowing what to do with windows 10 if you use look at the event list in the xampp window mine says
5:56:38 AM [Apache] Problem detected!
5:56:38 AM [Apache] Port 80 in use by "Unable to open process" with PID 4!
5:56:38 AM [Apache] Apache WILL NOT start without the configured ports free!
5:56:38 AM [Apache] You need to uninstall/disable/reconfigure the blocking application
5:56:38 AM [Apache] or reconfigure Apache and the Control Panel to listen on a different port
5:56:38 AM [Apache] Attempting to start Apache app...
and if you open up net stat it shows port 80 with PID 4 as being used by system, not sure as i don't have windows 7 anymore but if that is not the same on 7 then there is the problem.
the other reason i believe this to be the problem is that since the PID is 4 while looking in net stat System is the only thing with PID 4 and its using more then port 80.
so sadly i don't think anything can be done until Apache Friends updates there software, or someone finds a work around
Solving this problem is easy:
net stop W3SVC
and Enter.You can now click in WAMPP and restart all services. Open your browser and navigate to "localhost".
If you need to start W3SVC again,
net start W3SVC
and Enter.I found a way to solve this problem:
If this does not work,
If that did not work and "World Wide Web Publishing Service" was not available,
1. Press Windows+R, type regedit
2. Go to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
Change the value of Start
to 4, which means disabled.
3. Reboot your computer
You can change the port of apache:
NameVirtualHost *:80 here
VirtualHost *:80 and here (two times)
To enter your web page type: http://localhost:81/index.html
Actually, by default the IIS (microsoft dotnet etc.) installed. go to control panel turn Windows features on or Off.. Under (IIS) Internet Information Services uncheck the (WWWS) world wide web services. and then click OK. this could be a permanent solution. :)
These advices were great. I had the same problem, but my solution was different, because I was so stupid, that I have renamed directory where XAMPP was located and sice I had installed a lot of another programs I couldn't rename it back.
In my case there was original directory C:\Programs\Xampp and renamed it to C:\PROGRAMS_\Xampp and that was the mistake.
Solution was to find all references on C:\Programs and rename them C:\PROGRAMS_ in Xampp directory, because for some reason during the installation it writes absolute paths not realive. Of course there are some refences in registry too.
Hope that will help someone.
I tried everything listed in the answers here but none of them worked.
Then all I did was to re-start XAMPP with administrator rights by:
Start menu - right click on XAMPP - select run as administartor
It worked. It is that simple.
I uninstalled IIS services, stopped WWW services, changed ports back to 80, blocked all apache and mysql connections from windows 10 firewall, but yes it still works!
It looks like there are many options answer it is depend on your windows. Here is my experience when having the same problem in windows 10 fresh install and fix the issue with the following step :
Listen 80
Listen 443
to Listen 441
NOTE : I'm using XAMPP Version 5.6.15 and XAMPP Control Panel version 3.2.2
it's simply a matter of making port 80 available for your Apache service The way i solved the problem is
run
services.msc
and click OK
World wide web publishing service
startup type
value to Automatic (Delayed Start)
There you have it, All is back to normal
In my case it was a simple case of removing IIS because windows 10 comes with IIS pre installed - that conflicts with XAMPP because these both servers try to use the port 80. If you dont want to use IIS and keep using XAMPP
then RESTART
That was simple for me! try to run XAMPP Control Panel as administrator
I have tried all the above solutions. But it was not working in any way.
Finally I just uninstalled the XAMPP and installed it again. Then it worked for me.
Now I can able to run the server on any port (including 80).
I found that running apache_start in gave me the exact error and on which line it was. My error was that I left a space in between loccalhost: and the port
I have fixed this issue with mine as well but what I had to do was change a couple things. I require that on my Win10 machine I keep my C# and VS development environment so I didn't want to tinker with any services. All I had to do was download the latest version of XAMPP and change the listening ports for 80 and 443. They were located in 2 files:
C:\xampp\apache\conf\httpd.conf
Listen 122
ServerName localhost:122
C:\xampp\apache\conf\extra\httpd-ssl.conf
Listen 444
Changing above from port 80 to 122 and 443 to 444 allowed me to have apache run and serve pages while keeping everything else the same for my ASP development. Hopefully this helps someone out there. In the end this is a very simple fix.
Direct your browser to: http://localhost:122
The World Wide Web Publishing service was not the only one responsible in my case. I have IIS installed so I had to stop the whole http service.
This are the commands that I've executed in CMD(as administrator):
net stop W3SVC
net stop http
In you have installed SQL Server
, Some of its services may block the port which XAMPP needs. I solved my problem by disabling SQL Server Reporting Services
and now Apache starts with no problem.
Just open the services.msc
, scroll down and find SQL Server Reporting Services
, right click on it and click the Stop.
Steps: Open the XAMMP Control Panel, Open Apache Config, then select the Apache - xammp- config file Search for Port 443, and then change it to some other port lets say 4433
Then restart.
I got same problem, but the above solutions leads us to change the port instead of getting the exact solution. I've searched about the ports of simple HTTP & HTTPS Protocols and found
If another application is already running the http or https ports on local machine, we'll get this problem obviously just because of those ports already in use and in busy state.
That's why after changing the port number it was working. But instead of changing the port in XAMPP server I've used the following methods and It's works for me.
Here's the following step which I've got during this fix up.
- Error which I got in XAMPP Server application.
- At the top corner there's a button named Netstat. It's very useful for looking up the running ports on the system.
- This is the Netstat application where I found an application already running and using the port no. 443. In my case It was vmware-hostd.exe. Your might be different application. Try to search for port 80 (HTTP) or port 443 (HTTPS).
- I just opened the windows task manager, selected that application vmware-hostd.exe and kill the process by using the End Process button. I've killed that process which was used port 443. And this application wasn't needed at the moment.
- After killing the application in windows task manager, Apache is now available at the moment. Here's the proof.
NOTE: If you found any kind of application which is used the http or https ports means port 80 or port 443 and the application isn't important or not vital then only kill the process of that application. Otherwise no need to follow this steps. Then you need to consider to change the port of your XAMMP application as stated on the above answers.
Check your PHP installation works, check which php.ini you are running in apache's conf and use it to run php.exe...
Update: 25/7/2019: Have you just updated your Windows to Version 1903 (OS Build:18362.239) OR have you been changing user passwords?
I did, and despite having eliminated all port conflicts, I still kept getting the messages described by the OP at the very start of this post.
In the end I cured it by upgrading to XAMPP to 7.3.7. (When forced to re-install might as well upgrade at the same time!)
But the problem recurred when I again went to change 'root' user password.
The console error messages were masking the fact that table mysql.user was corrupt.
Check mysql_error.log. If you are seeing Fatal error: Can't open and lock privilege tables: Index for table 'user' is corrupt; try to repair it, then have a look at this.