IIS 和 XAMPP 冲突,端口已更改

Posted

技术标签:

【中文标题】IIS 和 XAMPP 冲突,端口已更改【英文标题】:IIS & XAMPP Conflict, Ports Already Changed 【发布时间】:2015-11-04 08:38:09 【问题描述】:

我启用了 IIS(全新的“安装”)并使用全新的 Wordpress 构建配置了端口配置的 XAMPP 安装。

httpd.conf(更改):

Listen 8080
ServerName localhost:8080

httpd-ssl.conf(更改):

Listen 4433
<VirtualHost _default_:4433>
ServerName www.example.com:4433

httpd-vhosts.conf(更改):

NameVirtualHost *:8080

<VirtualHost *:8080>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *:8080>
    DocumentRoot "C:/xampp/htdocs/foobar"
    ServerName foo.bar
    <Directory "C:/xampp/htdocs/foobar">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

主机(更改):

127.0.0.1       localhost
127.0.0.1       foo.bar

测试:

http://localhost/ IIS 根目录(预期) http://localhost:8080/[dashboard] XAMPP 根目录(预期) http://localhost:8080/foobar 解析为http://localhost/foobar,显示 IIS 错误页面(不正确,应显示 Wordpress 安装) http://foo.bar 显示 IIS 根目录(不正确,应该显示 Wordpress 安装) http://foo.bar:8080 解析为http://foo.bar(与上述结果相同)

老实说,在这一点上,我不知道我的设置是不正确的。我整天都在阅读论坛和 SO,但我没有取得任何进展。帮助?我是否对行为做出了错误的假设,或者我的设置有误?

【问题讨论】:

我假设您关闭了 httpd-ssl.conf 中的 VirtualHost 标签(更改): 如果你的 XAMPP 自带 Apache 2.4 NameVirtualHost *:8080 是不允许的。 当您安装 WordPress 时,您在运行安装时使用了什么 url。这很重要。如果您使用localhost/foobar 安装它,这将解释从http://foo.barhttp://localhost:8080/foobar 到IIS 服务器的url 交换。 @RiggsFolly 是的,VirtualHost 标签已关闭,仅更新了端口。我确实注意到日志中关于 NameVirtualHost *:8080 被弃用的错误,但删除它似乎没有任何效果。至于站点网址,我在 wp-config 中使用define('WP_HOME', 'http://foo.bar'); define('WP_SITEURL', 'http://foo.bar'); 你是否也检查了 WP 数据库,它保存了运行安装时使用的 url,请参阅WP Docs Changing The Site URL 【参考方案1】:

假设您希望两个服务同时运行,您将主要使用 XAMPP。这是我的解决方案:

每当我想使用 XAMPP 时,我都不喜欢输入端口 8080。所以我只是把IIS的post number改成了82。

    启动 IIS (7) 在左侧转到YOUR MACHINE > Sites > Default Web Site 然后右键点击bindings会弹出一个窗口 单击第一行并将端口号编辑为除 80 之外的任何值(因为如果您不输入任何内容,则 80 是默认端口 您的浏览器) 重置httpd.conf、httpd-ssl.conf的所有设置 然后打开 httpd-vhosts.conf 并把这个:
<VirtualHost *:80>
   DocumentRoot C:\xampp\htdocs\foobar
   ServerName foo.bar
</VirtualHost>
    重启电脑(没有httpd-vhosts.conf不生效)

文件hosts 原样没有问题。

【讨论】:

以上是关于IIS 和 XAMPP 冲突,端口已更改的主要内容,如果未能解决你的问题,请参考以下文章

IIS服务器和xampp中的appche服务器端口冲突解决办法

WAMPSERVER 与 IIS冲突

linux中安装的mysql和xampp的mysql占用同一个端口是不是会有冲突

XAMPP 和 Thunderbird 冲突

安装xampp后会不会和已安装的mysql冲突?

Windows 10 上的 XAMPP 和 Skype 端口冲突