You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows Server IIS发布PHP应用并配置公网URL访问?

如何在Windows Server 2016的IIS上发布PHP Web应用?
  • 安装IIS及必要组件
    打开服务器管理器,选择「添加角色和功能」,勾选「Web服务器(IIS)」,同时选中CGI、ISAPI扩展、ISAPI筛选器等依赖组件,完成安装后重启服务器。
  • 下载并配置PHP
    1. 下载对应版本的PHP压缩包(IIS推荐线程安全TS版本),解压到本地目录如C:\PHP。
    2. 复制php.ini-production并重命名为php.ini,编辑配置:
      • 设置extension_dir = "C:\PHP\ext"
      • 开启所需扩展(如extension=mysqli、extension=curl)
      • 配置fastcgi.impersonate = 1和cgi.fix_pathinfo = 1
  • 配置IIS的FastCGI映射
    1. 打开IIS管理器,点击服务器节点,找到「FastCGI设置」,右键添加应用程序,指定可执行文件路径为C:\PHP\php-cgi.exe。
    2. 进入目标站点的「处理程序映射」,添加模块映射:请求路径设为*.php,模块选择FastCgiModule,可执行文件选刚才配置的php-cgi.exe,命名为PHP_via_FastCGI。
  • 部署应用并测试
    1. 设置站点物理路径为PHP应用的根目录,配置站点绑定(IP选服务器实际内网/公网IP,端口默认80,主机名按需填写)。
    2. 在站点根目录创建info.php,内容为<?php phpinfo(); ?>,访问站点URL,能正常显示PHP信息页即为部署成功。
Windows Server 2019 IIS部署PHP 8.3.0后仅localhost可访问的解决方法
  • 检查IIS站点绑定配置
    打开IIS管理器,右键目标站点选择「编辑绑定」,确认IP地址不是仅127.0.0.1,改为「全部未分配」或服务器的实际内网/公网IP;若使用自定义端口,需确保后续访问时携带端口号。
  • 配置Windows防火墙入站规则
    打开Windows Defender防火墙高级设置,添加入站规则:允许TCP端口80(或自定义端口)的连接,应用到对应网络类型(内网/公网)。
  • 排查DNS与本地映射问题
    1. 若使用域名访问,确认DNS服务器已添加A记录,将域名指向服务器公网IP;内网访问可在客户端hosts文件添加服务器IP 目标域名的映射。
    2. 先尝试用服务器IP直接访问,排除域名解析故障。
  • 验证文件权限设置
    确保站点物理路径的文件夹给IIS_IUSRS用户分配了读取、执行权限;检查FastCGI进程的运行身份是否有足够权限访问应用文件。
  • 测试网络连通性
    1. 在客户端执行ping 服务器IP,确认网络连通;若不通,检查服务器网络配置(如是否在NAT后、是否有公网IP)。
    2. 用telnet 服务器IP 80测试端口是否开放,连接失败则回到防火墙和绑定配置重新排查。

内容的提问来源于stack exchange,提问作者Byorsh19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 01:17:19