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

当前回答

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

其他回答

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

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

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

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

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

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

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

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

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

瞧!固定的。

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

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

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