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

当前回答

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

其他回答

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

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

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

所以我在尝试启动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更改,并设置另一个端口号。

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

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

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

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

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

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

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

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

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

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

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

瞧!固定的。