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

这两天我一直在想怎么解决这个问题。我对这种事情不熟悉,所以如果有人能告诉我如何修理它,我会很感激。

我试过删除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
641967 次浏览
  1. 以管理员身份打开CMD提示符,执行以下命令:

    net stop was /y
    
  2. Open the Run dialog box (press Win+R), then type: services.msc

    Then search for World Wide Web Publishing Service (WWW-Publishing Service) and Web Deployment Agent Service and stop them. You should also disable them.

  3. Start Apache again with XAMPP :)

Link Ref: https://www.sitepoint.com/unblock-port-80-on-windows-run-apache/

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

按Win+R并输入services.msc

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

重启XAMPP

双击“Web部署代理服务”后,可以将启动类型设置为“手动”,这样“Web部署代理服务”就不会自动启动

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

文章提取:

  1. 进入你的运行命令,输入:

    netstat -o -n -a | findstr 0.0:80 < / p >

这里的最后一个数字是使用它的进程ID。这是最常见的IIS或其他web相关的服务,很容易解决,但每一段时间(经常会在谷歌上四处看看),它似乎是PID 4 -根据Windows任务管理器是NT内核和系统。这不是很有帮助,因为杀戮会导致蓝屏死机。

占用端口80的东西与IIS或web无关,它是SQL Server报告服务。关闭任何类似SQL Server服务的东西,重新启动Apache,不需要重新启动。

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

< p > 更新 - 来自@sangam的评论:

工作在一个镜头。在我的例子中,结果是SQL server报告 服务。我停止了所有已安装实例的服务,并且

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

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

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

瞧!固定的。

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

如果服务是http.sys . conf

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

Netsh HTTP添加iplistipaddress =::

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

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

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

Web部署代理服务(Web Deployment Agent Service)与WebMatrix一起部署,这就是我的问题所在。它也可以与其他使用微软的网络平台安装程序。安装的应用程序一起分发

卸载它解决了我的问题!

所以我在尝试启动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 Reporting Service:您需要停止此服务,因为如果IIS未运行,它可能占用80端口。去当地服务机构阻止它。

  4. VMware工作站:如果你正在运行VMware工作站,你需要停止VMware工作站服务器-端口443。

这些选项与我一起工作,我可以启动Apache服务而没有错误。

另一个选项是将Apache监听端口从httpd . conf更改为另一个端口号。

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

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

它通常工作后,你停止IIS服务器和Skype

在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

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

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

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

  1. 打开任务管理器(Ctrl+Alt+Delete)。
  2. 进入“详细信息”页签。
  3. 按PID编号排序。
  4. 结束使用错误的PID编号的进程。
  5. 重启XAMPP。

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

在CMD任务列表中运行注释

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

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

现在单击进程选项卡,找到使用PID的名称,并右键单击它和 结束过程< / p >

现在再次重新启动xampp

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

  1. 你必须找到有这个PID的进程或服务: 打开cmd (Windows)并写入:

    tasklist
    
  2. Find your PID in this list and read name of process or service.

  3. Now you can kill this using Task Manager

  4. find this name on Process list

  5. click End Process.

That's my case. Possibly you must open services.msc and stop Service with your PID.

On my computer xampp it worked fine :)

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

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

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

请参考此
链接ref。 < / p >

我也有这个问题,停止使用端口80的服务没有帮助。我通过以下过程解决了这个问题(在法国董事会中找到):

  1. 启动注册表编辑器
  2. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ \ HTTP服务
  3. 将start的值改为4(禁用)
  4. 重新启动计算机

不知道这对其他服务有什么影响,但它永久性地解决了这个问题,到目前为止我还没有看到任何问题。

Windows 10操作系统。

“SQL Server报表服务”在我的系统中导致问题,停止后,Apache开始工作正常

我也有同样的问题,我解决了问题,只是残疾了

服务中的“BranchCache服务”

以某种方式,windows更新,该服务在启动时被触发,并使用80个端口。当你通过netstat检查时,你可以看到系统正在使用这个,但不知道使用的是哪个服务。

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

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

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

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

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

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

enter image description here

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

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

将主端口80更改为8080后,您必须在控制面板中更新端口: enter image description here 然后点击这里: enter image description here 在这里: enter image description here

.

.