Php Apache和IIS 7一起运行

Php Apache和IIS 7一起运行,php,apache,iis,iis-7,Php,Apache,Iis,Iis 7,我在Windows7上工作。IIS 7和XAMPP安装在同一台计算机上。 我一直在玩win主机文件和apache配置文件,以了解服务器根目录 我不知道我在哪里搞砸了,我知道当我键入localhost时,它会显示iis7屏幕,当localhost/xampp然后是apache屏幕 IIS和apache如何在端口80上同时运行?困惑 这是可行的。需要记住的是,没有两个服务可以共享相同的端口和IP地址。不幸的是,IIS完全接管了神奇的0.0.0.0地址上的端口80。您需要做的是将apache和II

我在Windows7上工作。IIS 7和XAMPP安装在同一台计算机上。 我一直在玩win主机文件和apache配置文件,以了解服务器根目录

我不知道我在哪里搞砸了,我知道当我键入localhost时,它会显示iis7屏幕,当localhost/xampp然后是apache屏幕

IIS和apache如何在端口80上同时运行?困惑


这是可行的。需要记住的是,没有两个服务可以共享相同的端口和IP地址。不幸的是,IIS完全接管了神奇的0.0.0.0地址上的端口80。您需要做的是将apache和IIS重新绑定到不同的IP地址,并删除0.0.0.0绑定。不太清楚如何在IIS7上达到这个目标(假设你在电影中使用了IE9),上次我在IIS6上表演这个特技是hawt

一个更明智的选择是在80上设置一个反向代理,并根据您想要使用的任何rational标准将内容分发给不同的web服务器


编辑:找到神奇的juju,

只需更改XAMPP服务器使用的端口号,就可以在同一台机器上运行IIS和XAMPP。阅读本文了解如何更改端口号:


如何在同一台计算机上同时运行IIS和XAMPP


只需更改任何一台服务器的端口号,就可以在同一台计算机上同时运行IIS和XAMPP服务器。XAMPP Apache和IIS服务器都使用相同的端口80进行连接。在本文中,我将向您展示如何更改XAMPP Apache服务器的端口号。更改Apache服务器的端口号允许您使用不同的端口在同一台计算机上运行IIS和XAMPP服务器

首先,您需要知道安装XAMPP的文件夹(根文件夹)。默认文件夹是c:\xampp。从根文件夹导航到“apache\conf”文件夹并找到文件“httpd.conf”

在编辑该文件之前,请使用名称“httpd.conf.bak”对其进行备份,以便在出现问题时可以替换该文件。 现在用记事本之类的编辑器打开文件“httpd.conf”。您需要对文件进行两次编辑

#Listen 0.0.0.0:80
#Listen [::]:80
Listen 80
第一个:

找出文件中的以下行

#Listen 0.0.0.0:80
#Listen [::]:80
Listen 80
更改如下所示:

#Listen 0.0.0.0:80
#Listen [::]:80
Listen 8080
第二次编辑:

找到以下行:

ServerName localhost:80
将其更改为:

ServerName localhost:8080
您已完成更改端口号。现在,从xampp控制面板重新启动apache服务器,它就可以运行了

打开浏览器并输入地址
localhost:8080
。您可以看到apache的根文件夹已打开。无需对IIS服务器进行任何更改,只需在浏览器中输入地址
localhost
即可访问它


在上面的屏幕截图中,您可以看到IIS服务器通过
localhost
访问,XAMPP服务器通过
localhost:8080
访问,同时在同一台机器甚至同一个浏览器上访问。

如果试图让XAMPP(Apache)和IIS(5.1)在WinXP上工作,我就是这么做的:

C:\xampp\apache\conf\httpd.conf: 搜索“Listen 80”,更改为“Listen 8080” 搜索“ServerName localhost:80”,更改为“ServerName localhost:8080”

C:\xampp\apache\conf\extra\httpd-ssl.conf 搜索“Listen 443”,更改为“Listen 4499” 搜索“”,更改为“” 搜索“ServerName localhost:443”,更改为“ServerName localhost:4499”


[然后,通过运行localhost:8080和ISS并排运行simple localhost来访问您的Apache端]

我也遇到了同样的问题。但是我用这种方法解决了这个问题。我从中得到了它,当所有解决方案都无法为我提供绝对的解决方案时,它对我来说真的很有效

  • 转到控制面板>管理工具>单击服务
  • 查找“万维网发布服务”
  • 右键单击并选择“停止”
  • 右键单击并选择“属性”,然后将“启动类型”更改为“手动”
  • 如果这还不能解决问题,您可以按如下方式了解端口80的使用情况:

    在命令提示符下,运行'netstat-ao>netstat.txt'将活动连接和相关进程ID(PID)写入文件(对我来说,太多了,无法在命令提示符下查看) 查找端口80(0.0.0.0:80)上侦听的PID–对我来说,PID是4,这似乎很常见 打开任务管理器(Ctrl+Shift+Esc),在列标题上单击鼠标右键,然后单击“PID”以显示PID列。按PID排序以查找上面标识的PID的流程。
    一旦你知道了导致问题的原因,就可以通过谷歌搜索(其他搜索提供商也可以提供)应该可以帮助您修复它。

    我做的和您指向的链接一样。大约从一年前开始在IIS 7和Windows 2008上成功运行。奇怪的是,如果从firefox键入localhost,它会显示apache的localhost。但是我尝试了同样的方法,从IE 9中可以看到IIS 7主页。回显远程ip,其中一个可能使用的是v6而不是v4。我如何才能回显浏览器的ips或检查哪个浏览器正在使用哪个版本的ips写一个简单的页面,将远程ip服务器变量发送到输出。很难给出确切的说明,因为我不确定您正在使用什么。可以通过指向和http://[::1]的方式进行尝试简单有效..非常感谢..在C:\xampp\apache\conf\extra\httpd-ssl.conf文件中,我在本地主机上使用了ServerName examplewebsite更改后,我可以将xamp v3.2.2与IIS一起启动。这个答案非常完美!将WWW发布服务设置为手动启动后,现在我可以停止IIS并启动XAMPP,具体取决于我正在处理的项目。谢谢!