我试过删除skype,但那不工作,我试过关闭万维网的东西,IIS关闭似乎没有什么工作。

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

以管理员身份打开CMD提示符并执行以下命令: 净止损为/y 打开运行对话框(按Win+R),然后键入:services.msc 然后搜索万维网发布服务(WWW-Publishing Service)和Web部署代理服务并停止它们。您还应该禁用它们。 用XAMPP重新启动Apache:)

链接编号:https://www.sitepoint.com/unblock-port-80-on-windows-run-apache/


您可能需要停止“Web部署代理服务”

按Win+R,输入services.msc

右键单击Web部署代理服务,选择“停止”

重启XAMPP

双击“Web部署代理服务”后,可以将启动类型设置为“手动”,这样“Web部署代理服务”就不会自动启动


对我有用的是停止Internet信息服务(IIS)。如果你使用的是Windows 7,点击“开始”按钮,在搜索框中输入“iis”。点击“Internet信息服务(IIS)管理器”。当窗口弹出时,假设您没有选中任何图标,您应该能够单击右侧操作窗格上的Stop。我的XAMPP Apache启动了。希望你能如愿以偿。


摘自本文:

转到运行命令并输入: Netstat -o -n -a | findstr 0.0:80

这里的最后一个数字是使用它的进程ID。这是最常见的IIS或其他web相关的服务,很容易解决,但每一段时间(经常会在谷歌上四处看看),它似乎是PID 4 -根据Windows任务管理器是NT内核和系统。这不是很有帮助,因为杀戮会导致蓝屏死机。

占用端口80的东西与IIS或web无关,它是SQL Server报告服务。关闭任何类似SQL Server服务的东西,重新启动Apache,不需要重新启动。

所以PID 4监听端口80的问题?检查SQL服务并关闭它们。

更新- - - @sangam的评论:

工作在一个镜头。在我的例子中,结果是SQL server报告 服务。我停止了所有已安装实例的服务,并且 它工作了(没有重新启动机器)。


另一个非常简单的选项是将Apache设置为侦听不同的端口。这可以通过点击“Apache”模块同一行的“Config”按钮来完成,在下拉菜单中选择“httpd.conf”文件,然后将“Listen 80”行更改为“Listen 8080”。保存文件并关闭。

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

这还需要重新启动Apache以使更改生效。

瞧!固定的。


如果你已经在本地运行SQLServer Reporting Services,那么你也需要停止它。


如果服务是http.sys . conf

需要修改http.sys的绑定IP地址

Netsh HTTP添加iplistipaddress =::

无需重启操作系统即可正常工作。


我也遇到过同样的问题,但在我的情况下Apache已经在运行,由于某种原因XAMPP配置工具没有显示这一点。它发生在我安装后第一次启动XAMPP之后。在其他Apache实例崩溃后,一切正常,端口80和443再次空闲。

因此,在对系统进行更改之前,请确保没有发生上述明显的情况。


Web部署代理服务(Web Deployment Agent Service)与WebMatrix一起部署,这就是我的问题所在。它也可以与使用微软的Web平台安装程序安装的其他应用程序一起分发。

卸载它解决了我的问题!


所以我在尝试启动Apache服务时也遇到了同样的问题,我想与大家分享我的解决方案。 以下是关于可能使用端口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.

这些选项与我一起工作,我可以启动Apache服务而没有错误。

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

希望这个解决方案能帮助那些再次面临同样问题的人。


对我来说通常有效: -关闭Skype —关闭“services.msc”中显示的所有SQL Server进程 -关闭services.msc中的万维网出版


它通常工作后,你停止IIS服务器和Skype


在httpd.conf中修改以下行,然后重新启动应用程序:

听80转听8080 ServerName localhost:80到ServerName localhost:8080

当你按下“开始”,应用程序仍然可以说你有一个错误,如“端口80被无法打开进程PID…”,但它仍然会工作。

如果错误包含“端口443正在被“无法打开进程”的PID…”,您需要同时修改httpd.conf和httpd-ssl.conf。

在httpd-ssl.conf中更改:

听443转听4433 <VirtualHost _default_:443>到<VirtualHost _default_:4433> ServerName www.example.com:443 ~ ServerName www.example.com:4433


在Xampp控制面板上单击services(文件名为services。Msc,额外信息)。

首先,查看IIS是否正在运行。停止它(单击服务名称后停止左侧的该服务选项)。然后,这是主要的问题,寻找Web部署服务(不是确切的名称,尽管它在一开始就有Web部署。)也停止这个服务。再试一次,Apache应该可以工作。

如果你正在运行Skype,也退出,运行Apache,然后启动Skype


打开任务管理器(Ctrl+Alt+Delete)。 进入“详细信息”页签。 按PID编号排序。 结束使用错误的PID编号的进程。 重启XAMPP。


XAMPP -端口80被PID 4的“无法打开进程”使用!12

在CMD任务列表中运行注释

并找到与此相关的PID和进程名,现在打开任务管理器窗口

你也可以使用CTRL+ALT+DEL打开窗口任务管理器

现在单击进程选项卡,找到使用PID的名称,然后右键单击它 结束进程

现在再次重新启动xampp


我写这篇文章,是因为我找不到同样问题的答案。 在我的例子中PID是2484。

你必须找到具有这个PID的进程或服务: 打开cmd(在Windows中)并写入: tasklist 在这个列表中找到您的PID,并读取进程或服务的名称。 现在您可以使用任务管理器来终止这个任务 在进程列表中找到这个名字 单击“结束进程”。

这就是我的情况。可能您必须打开服务。使用您的PID停止服务。

在我的电脑xampp上它工作得很好:)


在windows 10中,要释放端口80:

在我的情况下,我打开“服务”从“搜索窗口”(在屏幕的左角),然后停止所有的SQL server服务MSSQLSERVER和它再次工作


我也遇到过同样的问题,当我安装MS WebMatrix时,IIS服务器阻塞了XAMPP正在运行的80端口。我试图找到万维网出版服务并停止它,但在列表中找不到它。最好的方法是更改端口。

请参考这个 链接ref。


我也有这个问题,停止使用端口80的服务没有帮助。我通过以下程序解决了这个问题(在一个法国板上找到的):

启动注册表编辑器 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ \ HTTP服务 将start的值改为4(禁用) 重新启动计算机

不知道这对其他服务有什么影响,但它永久性地解决了这个问题,到目前为止我还没有看到任何问题。

Windows 10操作系统。


“SQL Server报表服务”在我的系统中导致问题,停止后,Apache开始工作正常


我也有同样的问题,我解决了问题,只是残疾了

服务中的“BranchCache Service”。

以某种方式,windows更新,该服务在启动时被触发,并使用80个端口。当你通过netstat检查时,你可以看到系统正在使用这个,但不知道使用的是哪个服务。


对于ASP患者。NET, c#或SQL Server用户,如果您使用SQlServer或Visual Studio,您的端口可能会遇到。你可能想做的最简单的事情是在命令>服务。msc,然后找到SQl Server报表服务,然后停止它。


我也有同样的问题。经过一些谷歌搜索到达这个页面。由于我猜想这个错误可能有各种各样的原因,所以听听我的经验:

Xampp红线日志:

12:53:54 PM  [Apache] Problem detected!
12:53:54 PM  [Apache]   Port 443 in use by "Unable to open process" with PID 3908!
...

最后,我发现在我的php代码中有这样一行代码:

$res = file_get_contents("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");

这段代码的目的是从服务器的某个地方获取php结果的镜像。但它只是被困在一个获得自己内容的循环中!

我修复了代码:

$res = file_get_contents(str_replace("my_uri.php" , "mirror_uri.php" , "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));

然后我重启apache…apache错误再也没有发生过。

因此,有时在代码中搜索可能的停止点是一个好方法。


由于@johnkarka对这个问题的评论,这个端口也被SQL Server报告服务使用。在停止此操作后,Apache启动正常。

进入“SQL Server配置管理器” 点击“SQL Server Reporting Service”并停止它

有趣的是,IIS在相同的配置下工作得很好,但Apache不行,必须停止SQL Reporting服务以使其在默认端口(80)上工作。


在Ubuntu默认情况下,系统不允许你占用特权端口[0到1023],除了指定端口为80,你需要用sudo运行XAMP。


将主端口80更改为8080后,您必须在控制面板中更新端口: 然后点击这里: 在这里: 然后保存并重新启动。