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

时间:2013-12-13 03:08:38

标签: windows apache xampp

我一直试图弄清楚如何解决这个问题两天。我是新手,所以如果有人能告诉我如何解决这个问题,我会很感激。

我已经尝试删除了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

27 个答案:

答案 0 :(得分:321)

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

    net stop was /y
    
  2. 打开“运行”对话框(按赢取 + R ),然后键入:services.msc

    然后搜索 World Wide Web Publishing服务(WWW-Publishing服务)和 Web部署代理服务并停止它们。你也应该禁用它们。

  3. 使用XAMPP再次启动Apache:)

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

答案 1 :(得分:133)

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

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

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

瞧!固定的。

答案 2 :(得分:41)

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

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

按"开始"应用程序仍然可以说你有一个错误,如#34;端口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

答案 3 :(得分:35)

摘自article

  1. 转到您的运行命令并输入:

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

  2. 此处的最后一个数字是使用它的进程ID。这通常是IIS或其他网络相关服务,很容易解决,但每隔一段时间(通常它似乎在谷歌上看)它似乎是PID 4 - 根据Windows任务管理器是NT内核和系统。如果杀死这个将导致蓝屏死亡不是很有帮助。

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

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

    更新 - 来自@sangam的评论:

      

    一蹴而就。就我而言,它原来是SQL服务器报告   服务。我停止了所有已安装实例的服务,并且   它工作(没有机器重启)。

答案 4 :(得分:33)

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

  1. Skype :默认情况下,Skype使用端口80/443。您可以从Tools -> Options -> Advanced -> Connections更改此设置并禁用复选框“使用端口80和443添加附加传入连接”

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

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

  4. VMware Workstation :如果您运行的是VMware Workstation,则还需要停止VMware Workstation服务器 - 端口443。

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

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

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

答案 5 :(得分:32)

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

按Win + R并输入 services.msc

右键单击Web Deployment Agent Service并选择“停止”

重启XAMPP

双击“Web Deployment Agent Service”后,您可以将“启动”类型设置为“手动”,以便“Web部署代理服务”不会自动启动

答案 6 :(得分:6)

  1. 打开任务管理器(Ctrl + Alt + Delete)。
  2. 转到&#34;详情&#34;标签。
  3. 按PID编号排序。
  4. 使用错误指示的PID编号的结束进程。
  5. 重启XAMPP。

答案 7 :(得分:4)

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

答案 8 :(得分:4)

由于@johnkarka对这个问题有评论,因此SQL Server报告服务也使用此端口。停止此操作后,Apache正常运行。

  1. 转到“ SQL Server配置管理器”
  2. 单击“ SQL Server报告服务”并停止它

enter image description here

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

答案 9 :(得分:3)

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

答案 10 :(得分:3)

在Windows 10中,释放端口80:

在我的情况下,我打开了#34;服务&#34;来自&#34;搜索Windows&#34; (在屏幕的左上角),然后停止所有SQL Server服务MSSQLSERVER并再次运行

答案 11 :(得分:2)

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

因此,在对您的系统进行更改之前,请确保上述内容并不明显。

答案 12 :(得分:2)

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

  1. 启动RegEdit
  2. HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \服务\ HTTP
  3. 将“start”的值更改为4(禁用)
  4. 重新启动计算机
  5. 不确定这会如何影响其他服务,但它永久解决了这个问题,到目前为止我没有看到任何问题。

    使用Windows 10。

答案 13 :(得分:2)

"SQL Server Reporting Service" was causing issues in my system, after stopping it, Apache started working fine

答案 14 :(得分:2)

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

答案 15 :(得分:1)

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

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

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

答案 16 :(得分:1)

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

请参阅此 link ref.

答案 17 :(得分:1)

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

&#34; BranchCache服务&#34; 在服务中。

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

答案 18 :(得分:1)

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

答案 19 :(得分:0)

通常在您停止IIS服务器和Skype

之后工作

答案 20 :(得分:0)

对我来说通常有效:   - 关闭Skype   - 关闭services.msc中显示的所有SQL Server进程   - 关闭services.msc中的World Wide Web Publishing

答案 21 :(得分:0)

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

卸载它解决了我的问题!

答案 22 :(得分:0)

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

在cmd任务列表中运行评论

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

您也可以使用CTRL + ALT + DEL

打开窗口任务管理器

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

现在再次重启xampp

答案 23 :(得分:0)

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

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

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

答案 24 :(得分:0)

如果服务是http.sys

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

  

netsh http add iplisten ipaddress = ::

在不重新启动操作系统的情况下正常工作。

答案 25 :(得分:0)

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

答案 26 :(得分:-1)

我写这个,因为我找不到同一个问题的衣服。 在我的情况下,PID是2484。

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

    tasklist
    
  2. 在此列表中查找您的PID,并阅读流程或服务的名称。

  3. 现在您可以使用任务管理器

  4. 终止此操作
  5. 在处理列表

  6. 中找到此名称
  7. 点击结束流程。

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

    在我的电脑xampp上工作正常:)