XAMPP - Port 80 in use by “Unable to open process” with PID 4! 12

匿名 (未验证) 提交于 2019-12-03 02:11:02

问题:

I have been trying to figure out how to fix this problem for two days. I'm new to this kind of thing so I would appreciate it if someone could tell me how to fix it.

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 

回答1:

  1. Open a CMD prompt as administrator and execute the following command: net stop was /y

  2. Run Dialog Box (press keys 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 deactivate them.

3.Start Apache again with XAMPP :)

Link Ref: http://www.sitepoint.com/unblock-port-80-on-windows-run-apache/



回答2:

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.



回答3:

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


回答4:

Extracted from this article:

  1. Go to your run command and enter:

    netstat -o -n -a | findstr 0.0:80

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).



回答5:

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



回答6:

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:

  1. 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".

  2. 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.

  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.

  4. 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.



回答7:

  1. Open Task Manager (Ctrl+Alt+Delete).
  2. Go to "Details" tab.
  3. Sort by PID number.
  4. End process that is using PID number indicated in error.
  5. Restart XAMPP.


回答8:

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.



回答9:

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



回答10:

If you've SQLServer Reporting Services running locally then you need to stop that also..



回答11:

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.



回答12:

"SQL Server Reporting Service" was causing issues in my system, after stopping it, Apache started working fine



回答13:

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



回答14:

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.



回答15:

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):

  1. Launch RegEdit
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
  3. Change the value of "start" to 4 (disabled)
  4. 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.



回答16:

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.



回答17:

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!



回答18:

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



回答19:

It usually works afters you stop IIS Server and Skype



回答20:

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



回答21:

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.



回答22:

I write this, because i coudn't find answear for the same question. In my case PID was 2484.

  1. you must find a process or service with this PID: open cmd (in Windows) and write:

    tasklist 
  2. Find your PID in this list and read name of process or service.

  3. Now you can kill this using Task Manager

  4. find this name on Process list

  5. 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 :)



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!