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

Posted

技术标签:

【中文标题】XAMPP - PID 4 的“无法打开进程”正在使用端口 80! 12【英文标题】:XAMPP - Port 80 in use by "Unable to open process" with PID 4! 12 【发布时间】:2019-03-15 10:00:48 【问题描述】:

这两天我一直在想办法解决这个问题。我是这种东西的新手,所以如果有人能告诉我如何解决它,我将不胜感激。

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

【问题讨论】:

我不想在这里输入它,不是每个人都知道关于计算机的一切。我在寻求帮助,我在谷歌上搜索过,但人们所说的一切都不起作用。 啊,现在这更有意义了。尝试petri.co.il/quickly_find_local_open_ports.htm 找出谁阻塞了 80 端口 @Pekka 我在停止穿尿布后不久就一直在使用计算机,我现在也是一名程序员近十年了,我在谷歌上搜索了这个问题,谢天谢地,因为提问和回答这个问题的人使用这个网站,我很快就找到了答案。尽管这可能应该迁移到超级用户,但纠缠人们并让他们因为提出合理的问题而感到愚蠢,这与该社区的运作方式背道而驰。我建议你在生活中找到其他目标。 嗯,我不确定在您的搜索过程中这个结果是在哪里产生的,但是在我的搜索中,感谢这个线程,这是列表的顶部。这正是这个社区努力成为的目标,成为这类东西的高度可见和众所周知的知识库。因此,虽然我很欣赏你所说的,但实际上,感谢 OP 完成了任务。 @TechnikEmpire 但这个问题现在是 Google 排名靠前的结果这一事实是 问题的一部分, 而不是解决方案。在这个问题出现之前,谷歌的结果已经包含了很好的答案——我在发表评论之前检查过,我总是这样做。由于 SO 对谷歌的巨大影响力,这些答案现在可能已经被这个问题推倒了。另请参阅此处的讨论:meta.stackexchange.com/questions/160565/… 【参考方案1】:

    以管理员身份打开 CMD 提示符并执行以下命令:

    net stop was /y
    

    打开运行对话框(按Win+R),然后输入:services.msc

    然后搜索万维网发布服务(WWW-Publishing Service)和Web部署代理服务并停止它们。您还应该禁用它们。

    使用 XAMPP 再次启动 Apache :)

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

【讨论】:

我找不到万维网 访问服务的另一种方式 - 转至Control Panel > System and Security > Administrative tools > Services "SQL Server Reporting Service(MSSQLSERVER)" 也使用端口 80,因此如果您的计算机上安装了 MS-SQL 服务器,则应该停止它。 知道为什么会发生这种情况吗?是 Windows 搞砸了,还是有人黑了我的机器? 我关闭了万维网发布服务,问题解决了!谢谢。【参考方案2】:

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

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

这还需要您重新启动 Apache 才能使更改生效。

瞧!固定。

【讨论】:

我强制升级到 Windows 10 并且它破坏了我的 XAMP 安装,这个答案为我修复了它。谢谢! 这对我也有用,只是我退出了所有内容,点击了C:/xampp 中的 xampp_start,然后将其更改为端口 81。8080 对我不起作用。 我推荐您的解决方案。就我而言,我需要开发 ASP .NET 应用程序和 php。如果我停止World Wide Web Publishing Service,我将无法处理我的 ASP 应用程序。所以改变端口对我来说是解决方案。谢谢! 除了 httpd.conf 文件,您可能还需要从“配置”>“服务和端口设置”​​更改端口。在“Apache”选项卡上,将“主端口”值更改为新端口【参考方案3】:

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

Listen 80Listen 8080 ServerName localhost:80ServerName localhost:8080

当您按“开始”时,应用程序仍然可以说您有一个错误,例如“端口 80 正在被带有 PID 的“无法打开进程”使用...”,但它仍然可以工作。

如果错误包括“端口 443 正在被带有 PID 的“无法打开进程”使用...”,您需要同时更改 httpd.conf 和 httpd-ssl.conf。

在 httpd-ssl.conf 中更改:

Listen 443Listen 4433 <VirtualHost _default_:443><VirtualHost _default_:4433> ServerName www.example.com:443ServerName www.example.com:4433

【讨论】:

我最终不得不在我的问题上这样做。天哪!该PID是由系统。 确实如此。在我更改端口后,关闭 XAMPP 并重新打开它仍然显示红色错误消息,但一切正常。显然,XAMPP 在显示该错误消息之前不会检查端口是否已重新配置。它只检查端口是否正在使用。【参考方案4】:

摘自此article:

    转到你的运行命令并输入:

    netstat -o -n -a | findstr 0.0:80

这里的最后一个数字是使用它的进程 ID。这通常是 IIS 或其他与网络相关的服务,并且很容易解决,但每隔一段时间(在谷歌上似乎经常四处寻找)它似乎是 PID 4——根据 Windows 任务管理器,它是 NT 内核和系统。考虑到杀死这将导致蓝屏死机,这不是很有帮助。

占用 80 端口的东西与 IIS 或 Web 无关,它是 SQL Server Reporting Services。关闭任何类似于 SQL Server 服务的东西并重新启动 Apache,无需重新启动。

那么 PID 4 监听端口 80 有问题吗?检查您的 SQL 服务并将其关闭。

更新 - 来自@sangam 的评论:

一气呵成。就我而言,结果是 SQL Server 报告 服务。我停止了所有已安装实例的服务,并且 它有效(无需重新启动机器)。

【讨论】:

一拍即合。就我而言,它原来是 SQL Server 报告服务。我停止了所有已安装实例的服务,并且它正常工作(无需重新启动机器)。谢谢。 非常有帮助.. 在此之前,我更改了 Skype 端口。关闭 sql 服务对我帮助很大。非常感谢 最后,就我而言,它也是 MSSQL 停止 SQL Server Reporting Services (MSSQLSERVER) 对我有用 谢谢,这是给我的答案。【参考方案5】:

所以我在尝试启动 Apache 服务时遇到了同样的问题,我想与您分享我的解决方案。 以下是有关可能使用端口 80 的服务或程序的一些说明:

    Skype:Skype 默认使用端口 80/443。您可以从 Tools -> Options -> Advanced -> Connections 更改此设置并禁用复选框“使用端口 80 和 443 进行其他传入连接”

    IIS:IIS 默认使用端口 80,因此您需要将其关闭。您可以使用以下两个命令:net stop w3svcnet stop iisadmin

    SQL Server 报告服务:您需要停止此服务,因为如果 IIS 未运行,它可能占用端口 80。转到本地服务并停止它。

    VMware Workstation:如果您正在运行 VMware Workstation,则需要停止 VMware Workstation 服务器 - 端口 443。

这些选项对我很有效,我可以毫无错误地启动 Apache 服务。

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

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

【讨论】:

我的是 SQL Server 报告服务。谢谢! 停止 w3svc 解决了我在 Windows 10 上的问题。很好的答案。 如何知道哪些服务正在使用端口 80? (Windows 10) 对我来说这有效“IIS:IIS 默认使用端口 80,因此您需要将其关闭。您可以使用以下两个命令:net stop w3svc, net stop iisadmin”【参考方案6】:

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

按 Win+R 并输入 services.msc

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

重启 XAMPP

同样双击“Web Deployment Agent Service”后可以将Startup type设置为Manual,这样“Web Deployment Agent Service”就不会自动启动了

【讨论】:

禁用该服务是否有任何问题?【参考方案7】:

@johnkarka 对此问题发表了评论,因此 SQL Server 报告服务也使用此端口。停止此操作后,Apache 启动正常。

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

有趣的是 IIS 在相同的配置下运行良好,但在 Apache 下却没有,必须停止 SQL 报告服务才能使其在默认端口 (80) 上运行。

【讨论】:

【参考方案8】:
    打开任务管理器 (Ctrl+Alt+Delete)。 转到“详细信息”选项卡。 按 PID 号排序。 结束使用错误指示的 PID 号的进程。 重启 XAMPP。

【讨论】:

在我的例子中,使用 PID4 的是系统。因此,这可能很危险。 为我工作,因为我的其他服务器使用了端口。并考虑@Fusion 的评论【参考方案9】:

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

【讨论】:

【参考方案10】:

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

【讨论】:

【参考方案11】:

在 Windows 10 中,释放 80 端口:

在我的例子中,我从“搜索窗口”(屏幕左上角)打开“服务”,然后停止所有 SQL 服务器服务 MSSQLSERVER,它又可以工作了

【讨论】:

【参考方案12】:

我也遇到了这个问题,使用端口 80 停止服务没有帮助。我按照这个程序解决了这个问题(在french board 上找到):

    启动 RegEdit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP 将“start”的值更改为 4(禁用) 重新启动计算机

不确定这会如何影响其他服务,但它永久解决了问题,到目前为止我没有发现任何问题。

使用 Windows 10。

【讨论】:

【参考方案13】:

如果您在本地运行 SQLServer Reporting Services,那么您也需要停止它..

【讨论】:

【参考方案14】:

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

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

【讨论】:

【参考方案15】:

“SQL Server Reporting Service”导致我的系统出现问题,停止它后,Apache 开始正常工作

【讨论】:

【参考方案16】:

我有同样的问题,我解决了问题,只是禁用了

“BranchCache 服务”在服务中。

windows 不知何故更新,此服务在启动时触发,并使用 80 个端口。当您通过 netstat 检查时,您可以看到系统使用了这个,但无法理解使用的是哪个服务。

【讨论】:

在每次 Windows 10 更新后禁用此服务可解决问题【参考方案17】:

单击 Xampp 控制面板上的服务(文件名为 services.msc,额外信息)。

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

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

【讨论】:

通常,Skype 占用 80 端口,但比 XAMPP 更智能,一旦意识到 80 属于 Apache Server 就会使用不同的端口【参考方案18】:

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

请参考这里link ref.

【讨论】:

【参考方案19】:

对于那些使用 ASP.NET、C# 或拥有 SQL Server 的用户,如果您使用 SQlServer 或 Visual Studio 您的端口可能会遇到。您可能想做的最简单的事情是在 Command> servies.msc 上找到 SQl Server Reporting Service 然后停止它。

【讨论】:

【参考方案20】:

如果服务是 http.sys

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

netsh http add iplisten ipaddress=::

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

【讨论】:

【参考方案21】:

Web 部署代理服务是使用 WebMatrix 部署的,是我遇到麻烦的原因。它还可以与使用 Microsoft 的 Web 平台安装程序安装的其他应用程序一起分发。

卸载它解决了我的问题!

【讨论】:

不,只需更改服务器侦听的端口即可。【参考方案22】:

对我来说通常有效: - 关闭 Skype - 关闭 services.msc 中显示的所有 SQL Server 进程 - 在 services.msc 中关闭万维网发布

【讨论】:

【参考方案23】:

它通常在您停止 IIS Server 和 Skype 后工作

【讨论】:

【参考方案24】:

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

在cmd任务列表中运行注释

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

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

现在单击进程选项卡并找到使用 PID 的名称并右键单击该名称并 结束进程

现在再次重新启动 xampp

【讨论】:

【参考方案25】:

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

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

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

【讨论】:

【参考方案26】:

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

【讨论】:

【参考方案27】:

我写这个是因为我找不到同一个问题的答案。 在我的例子中,PID 是 2484。

    您必须找到具有此 PID 的进程或服务: 打开 cmd(在 Windows 中)并写入:

    tasklist
    

    在此列表中找到您的 PID 并读取进程或服务的名称。

    现在您可以使用任务管理器将其杀死

    在进程列表中找到此名称

    单击结束进程。

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

在我的电脑 xampp 上运行良好 :)

【讨论】:

以上是关于XAMPP - PID 4 的“无法打开进程”正在使用端口 80! 12的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

PID 4 的“无法打开进程”正在使用端口 443

Windows 10、Xampp、Apache 无法启动,端口 80 正在使用中

XAMPP 在 Windows 10 中不起作用