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

use*_*839 174 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
Run Code Online (Sandbox Code Playgroud)

小智 338

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

    net stop was /y
    
    Run Code Online (Sandbox Code Playgroud)
  2. 打开"运行"对话框(按Win+ R),然后键入:services.msc

    然后搜索万维网发布服务(WWW-发布服务)和Web部署代理服务并停止它们.你也应该禁用它们.

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

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

  • "SQL Server报告服务(MSSQLSERVER)"也使用端口80,因此如果您的计算机上安装了MS-SQL服务器,则应该停止它. (28认同)
  • 我找不到万维网 (14认同)
  • 我关闭了万维网发布服务,问题解决了!谢谢. (5认同)
  • 另一种访问服务的方法 - 转到"控制面板">"系统和安全性">"管理工具">"服务" (4认同)
  • 知道为什么会发生这种情况吗?是 Windows 太坏了,还是有人黑了我的机器? (2认同)

gtr*_*971 136

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

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

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

瞧!固定.

  • 另外在httpd.conf文件中,您可能还需要从"配置">"服务和端口设置"​​更改端口.在"Apache"选项卡上,将"主端口"值更改为新端口 (3认同)
  • 我推荐你的解决方案。就我而言,我需要开发 ASP .NET 应用程序和 PHP。如果我停止“万维网发布服务”,我将无法使用我的 ASP 应用程序。所以改变端口对我来说是解决方案。谢谢! (2认同)

Ogg*_*las 42

在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


chr*_*dam 38

摘自本文:

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

    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服务器报告服务.我停止了所有已安装实例的服务,并且它工作正常(没有机器重启).

  • 工作了一枪.就我而言,它原来是SQL服务器报告服务.我停止了所有已安装实例的服务,并且它工作正常(没有机器重启).谢谢. (5认同)
  • 最后,就我而言,它也是MSSQL (2认同)

Pet*_* T. 33

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

  1. Skype:Skype默认使用端口80/443.您可以更改此设置Tools -> Options -> Advanced -> Connections并禁用"使用端口80和443添加传入连接"复选框.

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

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

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

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

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

希望这个解决方案可以帮助那些再次遇到同样问题的人

  • 我是SQL Server报告服务.谢谢! (4认同)

小智 32

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

按Win + R并键入 services.msc

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

重启XAMPP

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


小智 6

  1. 打开任务管理器(Ctrl + Alt + Delete).
  2. 转到"详细信息"选项卡.
  3. 按PID编号排序.
  4. 使用错误指示的PID编号的结束进程.
  5. 重启XAMPP.

  • 就我而言,它是使用 PID4 的系统。因此,这可能是危险的。 (2认同)

小智 6

将主端口 80 更改为 8080 后,您必须更新控制面板中的端口: 在此处输入图片说明 然后点击这里: 在此处输入图片说明 和这里: 在此处输入图片说明 然后保存并重新启动。


Ham*_*han 5

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

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

在此处输入图片说明

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