我试过删除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

当前回答

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

在CMD任务列表中运行注释

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

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

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

现在再次重新启动xampp

其他回答

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

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

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

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

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

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

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错误再也没有发生过。

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

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

摘自本文:

转到运行命令并输入: 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报告 服务。我停止了所有已安装实例的服务,并且 它工作了(没有重新启动机器)。