XAMPP is not working in window - apache

Trying to install XAMPP v3.2.1 on windows8 and it gives me the following error:
23:30:36 [Apache] Error: Apache shutdown unexpectedly.
23:30:36 [Apache] This may be due to a blocked port, missing dependencies,
23:30:36 [Apache] improper privileges, a crash, or a shutdown by another method.
23:30:36 [Apache] Press the Logs button to view error logs and check
23:30:36 [Apache] the Windows Event Viewer for more clues
23:30:36 [Apache] If you need more help, copy and post this
23:30:36 [Apache] entire log window on the forums
I actually tried so many things but I don't know what to do now. Any suggestions?

Actually Skype is causing this issue so there are two ways to resolve this issue.
Quit the Skype so it'll release port 80 and 433.
Go to Skype Tools-> options -> Advanced -> Connection and unchecked port 80 after this you need to restart your Skype and try to run the XAMPP now it'll not throw any issue as port 80 and 443 is free to use
In Some cases IIS Server is using port 80 or 443. which cause XAMPP to stop running. To stop IIS Server you can follow this step.
Go to start Menu type Internet Information Services select this and stop it's service which will release port 80 and 443.

Try to comment out all SSL related stuffs in "apache-ssl.conf". The simplest way to access and edit this file is : from the Control Panel of XAMPP - > (Apache) Config.

Here are some options to solve the problem :
Option 1 : Stop other services directly from XAMPP control panel
On XAMPP control panel click Services button (see image above), a new window with services list will appear (see image below, filename is services.msc, extra info).
Then scrolled down to look for
World Wide Web Publishing Service. If it is running, stop it (stop this service option on the left after clicking on the service name) or double clicked on it and clicked STOP (if this service status is Started).
Internet Information Services (IIS). If it is running, stop it (stop this service option on the left after clicking on the service name) or double clicked on it and clicked STOP (if this service status is Started).
Web deployment Service (not the exact name though it has Web deployment at the beginning). Stop this service too (the same way as above).
If you are running Skype, exit out of that too, run Apache, then launch Skype

Related

Cannot use port 80 for my application

I have an application called NTWebService, and this uses port 80 to listen to my computer. However, When I run the application, I get an error:
Listen failed.
More exactly,
Initializing sockets...
Sockets Initialized OK
Starting Listen thread.
Starting Threads
.....CS:Listen: bind failed: 10013
Listen Failed
is shown on the window that opens when I run the application.
When I typed netstat -nao on command prompt, I found that a process with PID 4 is using port 80, and that that process is System and I cannot delete it. When I did some research, most of them had said
On Control Panel, open Programs and Features
Click on Turn Windows features on or off on the left pane
Locate Internet Information Services
Uncheck the textbox for World Wide Web Services
However, when I checked this, it had been unchecked. I basically had nothing to do on it. I also tried another way:
Click on Start button and right click on Computer
Click Manage to open Computer Management
Click on Services and Applications from left pane and double-click Services
Locate World Wide Web Publishing and turn it off
However, I don't even see World Wide Web Publishing on the list, so again, I could not do anything about this.
I also don't think I can tell NTWebService to change the port it listens on. Is there any other good way for this application to listen on port 80?

WampServer : Your Port 80 is actually used by Microsoft-HTTPAPI/2.0

I've uninstalled my WampServer 2.5 and installed version 3.0
But apache service isn't running and tray icon is orange...
Clicking on test port 80 gave me the following cmd output :
***** Test which uses port 80 *****
===== Tested by command netstat filtered on port 80 =====
Test for TCP
Your port 80 is used by a processus with PID = 4
The processus of PID 4 is 'System' Session: Services
The service of PID 4 for 'System' is 'N/A'
*** ERROR *** This service IS NOT from Wampserver - Should be: 'wampapache'
Test for TCPv6
Your port 80 is used by a processus with PID = 4
The processus of PID 4 is 'System' Session: Services
The service of PID 4 for 'System' is 'N/A'
*** ERROR *** This service IS NOT from Wampserver - Should be: 'wampapache'
===== Tested by attempting to open a socket on port 80 =====
Your port 80 is actually used by :
Server: Microsoft-HTTPAPI/2.0
Press Enter to exit...
ISS Service has been disabled before and the Activation Windows service process too by the wampserver forum.
What is the problem then ??
Update 2017- Wamp version 3.0.6
Right click on Wamp--> tool--> apache section-->use a port other than 80
Now listen to
http://localhost:7080/phpmyadmin/
There is more than one service that could be causing this. Try opening cmd or PowerShell (remember about administrator rights) and run:
NET stop HTTP
It will stop service that is running on port 80 and will display every service that was disabled to achieve that, simply disable that services for future and that should solve your issue.
Ok so that means your system has Microsoft IIS installed or one of the other bits of MS technology that reports that signature, they are doing that on later versions of Windows for some reason.
If you are not intending to use it you can uninstall it, it is not an integral part of windows so its being uninstalled wont effect normal operations of windows,
and if you need to install it again later, it comes as part of the standard OS so you wont need to do anything perticularly clever.
So go to Start -> Control Panel -> Programs and Features
Click the 'Turn windows features on and off' link in the left hand menu.
Wait for the list to load and then find 'Internet Information Services'
Un check the check boxes for the following items ( you may not see all of them ), and there may be others I done know about. You may have all of these or just some of these.
IIS
Web Deploy 2.0 (Web Deployment Agent Service)
MS Sql Server Reporting service.
BranchCache ( Windows 8.1 )
SQL Server VSS Writer
List of possible service names not sure how up to date this is.
Tutorial on how to find what ports are in use on your system and what app is using them
Windows will then have a think for a while and then remove those applications, you will probably be asked to reboot to complete the uninstalls.
Reboot anyway when the uninstalls are complete.
Then try wamp again.
Alternativeley just disable it/them.
Start -> Control Panel -> Administrative Tools -> Services
Find IIS in the list of services.
Left Click that line and select Properties
Change the 'Startup Type' to disabled.
Ditto for the other possibilities if you see them.
I had the same problem, and found out that the culprit was the BranchCache (PeerDistSvc) service.
After stopping that, WAMP starts up correctly on port 80.
Watch this Video on Youtube:
https://youtu.be/CMIC1UMONEk
the answer is when you install the SQL MANAGEMENT SERVER OF ANY VERSION
new SET OF SERVICES IS been added
WE HAVE TO STOP THE SERVICE SQL SERVER REPORTING SERVICES MSSQLSERVER
Step 1:
Normal process:
Control Panel.. All Control Panel Items...Administrative Tools
....Select Services
or for fast result
in run Type services.msc
Step 2
select show hidden icons
left click on wamp server icon
apache ....service ...install service
The Microsoft Hyper-V creates tasks/services on port 80. I still dont know the exact name (and probably wont look out for it), but unnistalling the hyper-v worked just fine for me.
In case anyone else had the same problem, theres another tip.

Can't start Apache server with Xampp

When im trying to start Apache it shows this??
Error: Apache shutdown unexpectedly.
This may be due to a blocked port, missing dependencies,
improper privileges, a crash, or a shutdown by another method.
Press the Logs button to view error logs and check
the Windows Event Viewer for more clues
If you need more help, copy and post this
entire log window on the forums
Try to uncheck using ports 80 and 443 in Skype under Tools->Advanced->Connections.
Then exit Skype, end Skype process in Task manager, run again Skype.
Then restart Apache.
I have this problem with XAMPP and succesfully done it with these steps.
Kind regards

XAMPP - Port 80 in use by "Unable to open process" with PID 4 - Windows 10 [duplicate]

I've tried deleting skype but that didn't work, I've tried turning off the world wide web thing off, IIS off nothing seems to work.
12:51:22 PM [Apache] Problem detected!
12:51:22 PM [Apache] Port 80 in use by "Unable to open process" with PID 4!
12:51:22 PM [Apache] Apache WILL NOT start without the configured ports free!
12:51:22 PM [Apache] You need to uninstall/disable/reconfigure the blocking application
12:51:22 PM [Apache] or reconfigure Apache and the Control Panel to listen on a different port
Open a CMD prompt as administrator and execute the following command:
net stop was /y
Open the Run dialog box (press Win+R), then type: services.msc
Then search for World Wide Web Publishing Service (WWW-Publishing Service) and Web Deployment Agent Service and stop them. You should also disable them.
Start Apache again with XAMPP :)
Link Ref: https://www.sitepoint.com/unblock-port-80-on-windows-run-apache/
Another very easy option is to simply set Apache to listen on a different port. This can be done by clicking on the "Config" button on the same line as the "Apache" module, select the "httpd.conf" file in the dropdown, then change the "Listen 80" line to "Listen 8080". Save the file and close it.
Now it avoids Port 80 and uses Port 8080 instead without issue. The only additional thing you need to do is make sure to put localhost:8080 in the browser so the browser knows to look on Port 8080. Otherwise it defaults to Port 80 and won't find your local site.
This will also require you to restart Apache for the change to take effect.
Voila! Fixed.
In httpd.conf change the following lines and then restart the application:
Listen 80 to Listen 8080
ServerName localhost:80 to ServerName localhost:8080
When you press "Start" the application can still say that you have an error like "Port 80 in use by "Unable to open process" with PID..." but it will still work.
If the error includes "Port 443 in use by "Unable to open process" with PID..." you need to change both httpd.conf and httpd-ssl.conf.
In httpd-ssl.conf change:
Listen 443 to Listen 4433
<VirtualHost _default_:443> to <VirtualHost _default_:4433>
ServerName www.example.com:443 to ServerName www.example.com:4433
Extracted from this article:
Go to your run command and enter:
netstat -o -n -a | findstr 0.0:80
The last number here is the process ID using it. This is most often IIS or other web relates service and is easy to resolve, but every so often (very often it would seem looking around on google) it appears to be PID 4 – which according to the Windows Task Manager is the NT Kernel and System. Not very helpful given killing this will result in a blue screen of death.
The thing hogging port 80 has nothing to do with IIS or web anything, it's SQL Server Reporting Services. Turn off anything that resembles a SQL Server Services and start Apache again, no need for a reboot.
So problems with PID 4 listening to port 80? Check your SQL services and turn them off.
UPDATE -
Comment from #sangam:
Worked at a shot. In my case, it turned out to be SQL server reporting
services. I stopped the service for all the installed instances, and
it worked (without machine reboot).
So I have faced the same problem when trying to start Apache service and I would like to share my solutions with you.
Here are some notes about services or programs that may use port 80:
Skype: Skype uses port 80/443 by default. You can change this from Tools -> Options -> Advanced -> Connections and disable the checkbox "use port 80 and 443 for addtional incoming connections".
IIS: IIS uses port 80 be default so you need to shut it down. You can use the following two commands: net stop w3svc, net stop iisadmin.
SQL Server Reporting Service: You need to stop this service because it may take port 80 if IIS is not running. Go to local services and stop it.
VMware Workstation: If you are running VMware Workstation, you need to stop the VMware Workstation server - port 443 as well.
These options work great with me and I can start Apache service without errors.
The other option is to change Apache listen port from httpd.conf and set another port number.
Hope this solution helps anyone who faces the same problem again.
You might need to stop the "Web Deployment Agent Service"
Press Win+R and type services.msc
Right click on Web Deployment Agent Service and select "Stop"
Restart XAMPP
Also after double clicking "Web Deployment Agent Service" you can make the Startup type to Manual, So that "Web Deployment Agent Service" will not start automatically
As there is comment by #johnkarka on the question, this port is used by SQL Server reporting service as well. After stopping this, Apache started fine.
Go to "SQL Server Configuration Manager"
Click on "SQL Server Reporting Service" and stop it
The funny thing is IIS was working fine in same configuration but not Apache, had to stop SQL Reporting service to make it work on default port (80).
After changing the main port 80 to 8080 you have to update the port in the control panel:
Then click here:
And here:
Then save and restart.
Open Task Manager (Ctrl+Alt+Delete).
Go to "Details" tab.
Sort by PID number.
End process that is using PID number indicated in error.
Restart XAMPP.
What worked for me was stopping the Internet Information Services (IIS). If you are using Windows 7, click on your Start button and in your search box, type "iis". Click on "Internet Information Services (IIS) Manager". When the window pops up, and assuming you've got none of the icons selected, you should just be able to click Stop on the right action pane. My XAMPP Apache started right up. Hope it all worked out for you.
In windows 10, to free up port 80:
in my case, I open "Services" from "Search Windows" (on the left corner on screen), then stop all of SQL server services MSSQLSERVER and it works again
I had this problem too and stoping services using port 80 didn't helped. I resolved it by following this procedure (found on a french board):
Launch RegEdit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
Change the value of "start" to 4 (disabled)
Reboot your computer
Not sure how this affect other services, but it solved permanently the issue and so far I didn't see any issue.
Using Windows 10.
If you've SQLServer Reporting Services running locally then you need to stop that also..
I've had the same problem, but in my case Apache was already running and for some reason the XAMPP config tool didn't show that. It happened after I started XAMPP for the first time after the installation. After crashing the other Apache instances all was fine and ports 80 and 443 were free again.
So before making changes to your systeem, make sure something as obvious as the above isn't happening.
"SQL Server Reporting Service" was causing issues in my system, after stopping it, Apache started working fine
I have the same issue, I solved the problem, just disabled
"BranchCache Service" in services.
Somehow windows updates, this service is triggered in startup, and uses 80 ports. When you check via netstat you could see the system is used this but couldnt understand which service is used.
Click services on the Xampp control panel (filename is services.msc, extra info).
First, look for IIS, if it is running. Stop it (stop this service option on the left after clicking on the service name.). Then, this is the main problem, Look for Web deployment Service (not the exact name though it has Web deployment at the beginning.). Stop this service too. Try again and Apache should work.
If you are running Skype, exit out of that too, run Apache, then launch Skype
I've had same problem, when I was installed MS WebMatrix, IIS Server was blocked the port 80 which XAMPP was running on. I tried to find World Wide Web Publishing Service and stop it, but could not find it on list. Best way is changing a port.
Please refer with this
link ref.
For those with ASP.NET, C# or having SQL Server users, If you are using SQlServer OR Visual Studio Your port might encounter. easiest thing you might want to do is on Command> servies.msc and then find SQl Server Reporting Service and then stop it.
if the service is http.sys
You need to change the binded IP address for http.sys
netsh http add iplisten ipaddress=::
Work fine without restart the os.
The Web Deployment Agent Service is deployed with WebMatrix and was the cause of my woes. It may also be distributed with other applications installed using Microsoft’s Web Platform Installer.
Uninstall it solved my problems!
For me usually works:
- Turn off Skype
- Turn off all SQL Server processes displayed in services.msc
- Turn off World Wide Web Publishing in services.msc
It usually works afters you stop IIS Server and Skype
XAMPP - Port 80 in use by “Unable to open process” with PID 4! 12
run the comment in cmd tasklist
and find which the PID and process name related to this now open window task manager
you can also open window task manager by using CTRL+ALT+DEL
now click on the process tab and find the name which using PID and right click on that and
end process
now again restart the xampp
I had same issue. After some googling arrived to this page. Since I guess this error may have various reasons, so listen to my experience:
Xampp red line log:
12:53:54 PM [Apache] Problem detected!
12:53:54 PM [Apache] Port 443 in use by "Unable to open process" with PID 3908!
...
Finally it turned out that I had this line of code in my php codes :
$res = file_get_contents("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
The purpose of this piece of code was to get a mirror of php result from somewhere in my server. But it's just stucked in a loop that gets its own content!
I repaired code:
$res = file_get_contents(str_replace("my_uri.php" , "mirror_uri.php" , "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
Then I restarted apache ... and that apache error never happened again.
So sometimes searching for probable halting points in your code is a good approach.
In Ubuntu by default, the system will not allow you to occupy privileged ports [ 0 to 1023], other than specifying the port as 80, you need to run XAMP with sudo.
I write this, because i coudn't find answear for the same question.
In my case PID was 2484.
you must find a process or service with this PID:
open cmd (in Windows) and write:
tasklist
Find your PID in this list and read name of process or service.
Now you can kill this using Task Manager
find this name on Process list
click End Process.
That's my case. Possibly you must open services.msc and stop Service with your PID.
On my computer xampp it worked fine :)

Port 80 is not blocked but Apache will not start

I have installed Apache on Win7. Every thing was ok, then I restarted Windows, and now I get this error message:
Error: Apache shutdown unexpectedly.
This may be due to a blocked port, missing dependencies,
improper privileges, a crash, or a shutdown by another method.
Press the Logs button to view error logs and check
the Windows Event Viewer for more clues
If you need more help, copy and post this
entire log window on the forums
I have also checked port 80 (it is not blocked).
I also deactivated Firewall, but still I cannot start Apache.
Can you help me in this case?
Best regards