我一直试图弄清楚如何解决这个问题两天。我是新手,所以如果有人能告诉我如何解决这个问题,我会很感激。
我已经尝试删除了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
答案 0 :(得分:321)
以管理员身份打开CMD提示并执行以下命令:
net stop was /y
打开“运行”对话框(按赢取 + R ),然后键入:services.msc
然后搜索 World Wide Web Publishing服务(WWW-Publishing服务)和 Web部署代理服务并停止它们。你也应该禁用它们。
使用XAMPP再次启动Apache:)
链接参考: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 80
至Listen 8080
ServerName localhost:80
至ServerName localhost:8080
按"开始"应用程序仍然可以说你有一个错误,如#34;端口80正在使用"无法打开进程"与PID ......"但它仍然有效。
如果错误包括"正在使用的端口443"无法打开进程"与PID ......"你需要改变httpd.conf和httpd-ssl.conf。
在httpd-ssl.conf中更改:
Listen 443
至Listen 4433
<VirtualHost _default_:443>
至<VirtualHost _default_:4433>
ServerName www.example.com:443
至ServerName www.example.com:4433
答案 3 :(得分:35)
摘自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服务器报告 服务。我停止了所有已安装实例的服务,并且 它工作(没有机器重启)。
答案 4 :(得分:33)
所以我在尝试启动Apache服务时遇到了同样的问题,我想与您分享我的解决方案。 以下是有关可能使用端口80的服务或程序的一些注意事项:
Skype :默认情况下,Skype使用端口80/443。您可以从Tools -> Options -> Advanced -> Connections
更改此设置并禁用复选框“使用端口80和443添加附加传入连接”。
IIS :IIS默认使用端口80,因此您需要将其关闭。您可以使用以下两个命令:net stop w3svc
,net stop iisadmin
。
SQL Server报告服务:您需要停止此服务,因为如果IIS未运行,它可能需要端口80。转到本地服务并停止它。
VMware Workstation :如果您运行的是VMware Workstation,则还需要停止VMware Workstation服务器 - 端口443。
这些选项对我很有用,我可以毫无错误地启动Apache服务。
另一个选项是从 httpd.conf 更改Apache侦听端口并设置另一个端口号。
希望此解决方案可以帮助任何再次面临同样问题的人。
答案 5 :(得分:32)
您可能需要停止“Web部署代理服务”
按Win + R并输入 services.msc
右键单击Web Deployment Agent Service并选择“停止”
重启XAMPP
双击“Web Deployment Agent Service”后,您可以将“启动”类型设置为“手动”,以便“Web部署代理服务”不会自动启动
答案 6 :(得分:6)
答案 7 :(得分:4)
对我有用的是停止Internet信息服务(IIS)。如果您使用的是Windows 7,请单击“开始”按钮,然后在搜索框中键入“iis”。单击“Internet信息服务(IIS)管理器”。当窗口弹出时,假设您没有选择任何图标,您应该只需在右侧操作窗格中单击“停止”。我的XAMPP Apache开始了。希望一切都能为你效劳。
答案 8 :(得分:4)
由于@johnkarka对这个问题有评论,因此SQL Server报告服务也使用此端口。停止此操作后,Apache正常运行。
有趣的是,IIS在相同的配置下运行良好,但Apache无法运行,必须停止SQL Reporting服务才能使其在默认端口(80)上运行。
答案 9 :(得分:3)
答案 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上找到)解决了这个问题:
不确定这会如何影响其他服务,但它永久解决了这个问题,到目前为止我没有看到任何问题。
使用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。
您必须找到具有此PID的流程或服务: 打开cmd(在Windows中)并写入:
tasklist
在此列表中查找您的PID,并阅读流程或服务的名称。
现在您可以使用任务管理器
在处理列表
点击结束流程。
这是我的情况。您可能必须打开services.msc并使用PID停止服务。
在我的电脑xampp上工作正常:)