[php] XAMPP Port 80 in use by "Unable to open process" with PID 4

XAMPP won't work it says

Port 80 in use by "Unable to open process" with PID 4!
6:32:24 PM  [Apache]    Apache WILL NOT start without the configured ports free!
6:32:24 PM  [Apache]    You need to uninstall/disable/reconfigure the blocking application
6:32:24 PM  [Apache]    or reconfigure Apache and the Control Panel to listen on a different port

I have tried everything from deleting the World Wide Web Publishing Service (which did not work because i dont even have it installed.) To using the command prompt which says

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:80             Dave:0                 LISTENING       4
  TCP    0.0.0.0:135            Dave:0                 LISTENING       776
  TCP    0.0.0.0:445            Dave:0                 LISTENING       4
  TCP    0.0.0.0:2382           Dave:0                 LISTENING       2576
  TCP    0.0.0.0:5357           Dave:0                 LISTENING       4
  TCP    0.0.0.0:49152          Dave:0                 LISTENING       548
  TCP    0.0.0.0:49153          Dave:0                 LISTENING       928
  TCP    0.0.0.0:49154          Dave:0                 LISTENING       972
  TCP    0.0.0.0:49155          Dave:0                 LISTENING       1264
  TCP    0.0.0.0:49156          Dave:0                 LISTENING       660
  TCP    0.0.0.0:49157          Dave:0                 LISTENING       1832
  TCP    0.0.0.0:49159          Dave:0                 LISTENING       652
  TCP    0.0.0.0:51782          Dave:0                 LISTENING       1884
  TCP    127.0.0.1:51783        Dave:0                 LISTENING       1884
  TCP    192.168.0.16:139       Dave:0                 LISTENING       4
  TCP    192.168.0.16:50260     stackoverflow:https    ESTABLISHED     5768
  TCP    192.168.0.16:50263     ec2-54-237-50-81:https  ESTABLISHED     5768
  TCP    192.168.0.16:50287     bn1wns1011221:https    ESTABLISHED     1640
  TCP    192.168.0.16:50456     bn1wns2011310:https    ESTABLISHED     1640
  TCP    192.168.0.16:50489     stackoverflow:http     ESTABLISHED     5768

I dont understand why its not working because it was working fine a couple days ago could someone help please, thanks.When i do netstat -a -b it says this.

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>netstat -a -b

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:80             Dave:0                 LISTENING
 Can not obtain ownership information
  TCP    0.0.0.0:82             Dave:0                 LISTENING
 [httpd.exe]
  TCP    0.0.0.0:135            Dave:0                 LISTENING
  RpcSs
 [svchost.exe]
  TCP    0.0.0.0:443            Dave:0                 LISTENING
 [httpd.exe]
  TCP    0.0.0.0:445            Dave:0                 LISTENING
 Can not obtain ownership information
  TCP    0.0.0.0:2382           Dave:0                 LISTENING
 [sqlbrowser.exe]
  TCP    0.0.0.0:3306           Dave:0                 LISTENING
 [mysqld.exe]
  TCP    0.0.0.0:3306           Dave:0                 LISTENING
 [mysqld.exe]
  TCP    0.0.0.0:5357           Dave:0                 LISTENING
 Can not obtain ownership information
  TCP    0.0.0.0:49152          Dave:0                 LISTENING
 [wininit.exe]
  TCP    0.0.0.0:49153          Dave:0                 LISTENING
  EventLog
 [svchost.exe]
  TCP    0.0.0.0:49154          Dave:0                 LISTENING
  Schedule
 [svchost.exe]
  TCP    0.0.0.0:49155          Dave:0                 LISTENING
 [spoolsv.exe]
  TCP    0.0.0.0:49156          Dave:0                 LISTENING
 [lsass.exe]
  TCP    0.0.0.0:49157          Dave:0                 LISTENING
 [msmdsrv.exe]
  TCP    0.0.0.0:49159          Dave:0                 LISTENING
 Can not obtain ownership information
  TCP    0.0.0.0:51782          Dave:0                 LISTENING
 [sqlservr.exe]
  TCP    127.0.0.1:51783        Dave:0                 LISTENING
 [sqlservr.exe]
  TCP    192.168.0.16:139       Dave:0                 LISTENING
 Can not obtain ownership information
  TCP    192.168.0.16:49180     bn1wns2011302:https    ESTABLISHED
 [Explorer.EXE]
  TCP    192.168.0.16:49267     ec2-54-80-62-105:https  ESTABLISHED
 [opera.exe]
  TCP    192.168.0.16:49318     bn1wns2011304:https    ESTABLISHED
 [Explorer.EXE]
  TCP    192.168.0.16:49397     ord08s08-in-f14:http   ESTABLISHED
 [opera.exe]
  TCP    192.168.0.16:49417     ord08s08-in-f14:http   ESTABLISHED
 [opera.exe]
  TCP    192.168.0.16:49418     ord08s09-in-f5:http    ESTABLISHED
 [opera.exe]
  TCP    192.168.0.16:49427     static-acs-24-101-16-41:http  TIME_WAIT
  TCP    192.168.0.16:49428     static-acs-24-101-16-24:http  TIME_WAIT
  TCP    192.168.0.16:49429     static-acs-24-101-16-41:http  TIME_WAIT
  TCP    192.168.0.16:49430     static-acs-24-101-16-41:http  TIME_WAIT
  TCP    192.168.0.16:49431     static-acs-24-101-16-41:http  TIME_WAIT
  TCP    192.168.0.16:49432     ord08s08-in-f2:http    ESTABLISHED
 [opera.exe]
  TCP    192.168.0.16:49434     ord08s08-in-f5:http    ESTABLISHED
 [opera.exe]
  TCP    192.168.0.16:49435     ord08s08-in-f5:http    ESTABLISHED
 [opera.exe]
  TCP    192.168.0.16:49436     ord08s08-in-f5:http    ESTABLISHED
 [opera.exe]
  TCP    192.168.0.16:49437     ord08s08-in-f5:http    ESTABLISHED
 [opera.exe]
  TCP    192.168.0.16:49438     ord08s08-in-f5:http    ESTABLISHED
 [opera.exe]

This question is related to php xampp port

The answer is


So I have faced the same problem when trying to start apache service and I would like to share my solutions with you. Here is some notes about services or programs that may use port 80:

  1. Skype: skype uses port 80/443 by default. You can change this from tools->options-> advanced->connections and disable checkbox "use port 80 and 443 for addtional incoming connections".
  2. IIS: IIS uses port 80 be default so you need to shut down it. You can use the following two commands net stop w3svc net stop iisadmin
  3. 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.

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 face the same problem again.


I had the following error message Port 80 in use by "Unable to open process" with PID 4! Apache WILL NOT start without the configured ports free! You need to uninstall/disable/reconfigure the blocking application or reconfigure Apache and the Control Panel to listen on a different port Starting Check-Timer Control Panel Ready

opened the httpd.conf and changed the listen port from 80 to 1234 in both places

Listen 12.34.56.78:1234

Listen 1234

Then go to Config for the xampp control panel and go to service and port setting and changed the port from 80 to 1234

That worked.


Your port 80 is being used by the system.

  1. In Windows “World Wide Publishing" Service is using this port and it's process is system which PID is 4 maximum time and stopping this service(“World Wide Publishing") will free the port 80 and you can connect Apache using this port. To stop the service go to the “Task manager –> Services tab”, right click the “World Wide Publishing Service” and stop.
  2. If you don't find there then Then go to "Run > services.msc" and again find there and right click the “World Wide Publishing Service” and stop.
  3. If you didn't find “World Wide Publishing Service” there then go to "Run>>resmon.exe>> Network Tab>>Listening Ports" and see which process is using port 80

enter image description here

And from "Overview>>CPU" just Right click on that process and click "End Process Tree". If that process is system that might be a critical issue.


Examples related to php

I am receiving warning in Facebook Application using PHP SDK Pass PDO prepared statement to variables Parse error: syntax error, unexpected [ Preg_match backtrack error Removing "http://" from a string How do I hide the PHP explode delimiter from submitted form results? Problems with installation of Google App Engine SDK for php in OS X Laravel 4 with Sentry 2 add user to a group on Registration php & mysql query not echoing in html with tags? How do I show a message in the foreach loop?

Examples related to xampp

Xampp localhost/dashboard phpMyAdmin ERROR: mysqli_real_connect(): (HY000/1045): Access denied for user 'pma'@'localhost' (using password: NO) Is there way to use two PHP versions in XAMPP? Where to find htdocs in XAMPP Mac phpMyAdmin access denied for user 'root'@'localhost' (using password: NO) How to downgrade php from 7.1.1 to 5.6 in xampp 7.1.1? How to turn on/off MySQL strict mode in localhost (xampp)? mysqli_connect(): (HY000/2002): No connection could be made because the target machine actively refused it How to install mcrypt extension in xampp Fatal error: Uncaught Error: Call to undefined function mysql_connect()

Examples related to port

Docker - Bind for 0.0.0.0:4000 failed: port is already allocated How do I kill the process currently using a port on localhost in Windows? Node.js Port 3000 already in use but it actually isn't? Can't connect to Postgresql on port 5432 Spring Boot - How to get the running port Make docker use IPv4 for port binding How to change the default port of mysql from 3306 to 3360 Open firewall port on CentOS 7 Unable to launch the IIS Express Web server, Failed to register URL, Access is denied XAMPP Port 80 in use by "Unable to open process" with PID 4