php PID 为 4 的“无法打开进程”正在使用 XAMPP 端口 80

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/23317372/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 16:38:31  来源:igfitidea点击:

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

phpxamppport

提问by Dave Cribbs

XAMPP won't work it says

XAMPP 不起作用,它说

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.

我不明白为什么它不工作,因为几天前它工作正常,有人可以帮忙,谢谢。当我做 netstat -a -b 时,它说这个。

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]

回答by user3755563

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.

只需将 Apache 设置为侦听不同的端口。这可以通过单击“Apache”模块所在行上的“Config”按钮,在下拉列表中选择“httpd.conf”文件,然后将“Listen 80”行更改为“Listen 8080”来完成。保存文件并关闭它。

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.

现在它避免了端口 80 并使用端口 8080 而没有问题。您需要做的唯一额外的事情是确保将 localhost:8080 放入浏览器,以便浏览器知道查看端口 8080。否则它默认为端口 80,不会找到您的本地站点。

回答by Peter T.

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:

所以我在尝试启动 apache 服务时遇到了同样的问题,我想与您分享我的解决方案。以下是有关可能使用端口 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.
  1. Skype:Skype 默认使用端口 80/443。您可以从工具-> 选项-> 高级-> 连接更改此设置并禁用复选框“使用端口 80 和 443 进行附加传入连接”。
  2. IIS: IIS 默认使用端口 80,因此您需要关闭它。可以使用以下两个命令 net stop w3svc net stop iisadmin
  3. SQL Server Reporting Service:您需要停止此服务,因为如果 IIS 未运行,它可能会占用端口 80。转到本地服务并停止它。

These options work great with me and I can start apache service without errors.

这些选项对我来说很好用,我可以毫无错误地启动 apache 服务。

The other option is to change apache listen port from httpd.confand set another port number.

另一个选项是从httpd.conf更改 apache 监听端口并设置另一个端口号。

Hope this solution helps anyone who face the same problem again.

希望这个解决方案可以帮助任何再次面临同样问题的人。

回答by Muhammad Ashikuzzaman

Your port 80 is being used by the system.

系统正在使用您的端口 80。

  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
  1. 在 Windows 中,“World Wide Publishing”服务正在使用此端口,它的进程是 PID 最大时间为 4 的系统,停止此服务(“World Wide Publishing”)将释放端口 80,您可以使用此端口连接 Apache。要停止该服务,请转到“任务管理器 -> 服务选项卡”,右键单击“全球发布服务”并停止。
  2. 如果你没有找到那么然后去“运行> services.msc”并再次找到那里并右键单击“World Wide Publishing Service”并停止。
  3. 如果您没有找到“World Wide Publishing Service”,则转到“运行>>resmon.exe>>网络选项卡>>侦听端口”并查看哪个进程正在使用端口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.

从“概览>>CPU”中右键单击该进程并单击“结束进程树”。如果该过程是系统,则可能是一个关键问题。

回答by Geethika

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

我有以下错误消息端口 80 正在被“无法打开进程”与 PID 4 使用!如果配置的端口没有空闲,Apache 将不会启动!您需要卸载/禁用/重新配置阻止应用程序或重新配置 Apache 和控制面板以侦听不同的端口 启动检查计时器控制面板就绪

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

打开httpd.conf,把两个地方的监听端口从80改为1234

Listen 12.34.56.78:1234

听 12.34.56.78:1234

Listen 1234

听 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

然后转到xampp控制面板的配置并转到服务和端口设置并将端口从80更改为1234

That worked.

那奏效了。