如何在同一台电脑的localhost上同时运行IIS与XAMPP
问题解答
不能通过http://localhost/同时运行IIS与XAMPP,因为两者默认都会监听80端口,同一端口无法被多个服务同时占用,会导致端口冲突,其中一个服务无法正常启动。
以下是同一台电脑本地运行IIS与PHP/MySQL的可行方案:
方案一:修改其中一个服务的端口
修改XAMPP Apache端口:
- 打开XAMPP控制面板,点击Apache模块的「Config」按钮,选择「Apache (httpd.conf)」
- 找到
Listen 80,将其修改为未被占用的端口(例如Listen 8080) - 找到
ServerName localhost:80,修改为ServerName localhost:8080 - 保存配置后重启XAMPP Apache,即可通过
http://localhost:8080/访问XAMPP服务,IIS仍使用默认的http://localhost/
修改IIS端口:
- 打开IIS管理器,找到「Default Web Site」
- 右键选择「编辑绑定」,在弹出的窗口中选择http协议的绑定项,点击「编辑」
- 将端口从80修改为未被占用的端口(例如
8081),点击确定 - 重启IIS服务,即可通过
http://localhost:8081/访问IIS,XAMPP仍使用默认的http://localhost/
方案二:IIS直接集成PHP与MySQL(无需XAMPP Apache)
- 安装PHP:下载对应Windows架构(x86/x64)的PHP压缩包,解压至本地目录(如
C:\PHP) - 配置IIS处理PHP:
- 打开IIS管理器,点击服务器节点,选择「处理程序映射」
- 点击「添加模块映射」,请求路径填
*.php,模块选择「FastCgiModule」,可执行文件选择PHP目录下的php-cgi.exe,名称填写「PHP FastCGI」,点击确定
- 配置PHP:
- 复制PHP目录下的
php.ini-development(开发环境)或php.ini-production(生产环境)为php.ini - 修改
extension_dir为"ext"(指向PHP目录下的ext文件夹) - 开启MySQL相关扩展(去掉
extension=mysqli、extension=mysqlnd前的分号) - 设置
cgi.fix_pathinfo=0以提升安全性
- 复制PHP目录下的
- 配置MySQL:
- 可单独安装MySQL服务,或仅启动XAMPP中的MySQL模块(不启动Apache)
- 在PHP的
php.ini中配置MySQL连接参数,确保PHP能正常连接数据库
方案三:按需启停服务
- 当需要使用IIS时,关闭XAMPP的Apache服务;当需要使用XAMPP时,停止IIS的「Default Web Site」
- 此方案无需修改端口,两者共享80端口,但同一时间仅能运行其中一个Web服务
内容的提问来源于stack exchange,提问作者Jordan Clark
相关产品推荐
相关产品推荐

