Windows 10 搭建 IIS 10 + PHP 8.0.30 可行,需启用 CGI 功能、下载官方 NTS 版本(php-8.0.30-nts-Win32-vc15-x64.zip)、配置 php.ini 中 extension_dir、date.timezone 和 cgi.fix_pathinfo=0,并在 IIS 中正确添加 FastCGI 映射和 *.php 处理程序。

Windows 10 自带 IIS 10,搭配 PHP 8.0.30 完全可行,但必须严格匹配版本和配置细节。关键不是“能不能装”,而是“怎么避开常见断点”。下面按真实部署顺序讲清楚每一步的核心动作和易错点。
IIS 必须启用 CGI 功能
很多人卡在“PHP 文件直接下载或 500 错误”,根源是 IIS 缺少底层支持模块。
- 打开“控制面板 → 程序 → 启用或关闭 Windows 功能”
- 展开“Internet Information Services → Web 管理工具 → World Wide Web 服务 → 应用程序开发功能”
- 务必勾选“CGI”(FastCGI 依赖它;只勾 ISAPI 扩展没用)
- 顺手把“ISAPI 扩展”“ISAPI 筛选器”也勾上,避免后续扩展加载失败
- 点击确定,等待安装完成,重启 IIS 管理器
PHP 8.0.30 正确下载与解压
PHP 8.0.30 是最后一个提供 NTS ZIP 包的 8.0.x 版本,不能用 TS 版,也不能用第三方打包版。
- 去官网 windows.php.net/download 下载:
php-8.0.30-nts-Win32-vc15-x64.zip(注意:x64 架构 + vc15 + nts) - 解压到固定路径,如 C:\php(不要带空格、中文或特殊符号)
- 复制 php.ini-production,重命名为 php.ini
- 编辑 php.ini,重点改三处:
→ extension_dir = "C:/php/ext"(正斜杠或双反斜杠)
→ date.timezone = Asia/Shanghai
→ cgi.fix_pathinfo = 0(IIS 下不设为 0 会出安全风险和解析异常)
IIS 中添加 FastCGI 映射
这步决定 PHP 能不能被调用,路径和模块名一个字母都不能错。
立即学习“PHP免费学习笔记(深入)”;
- 打开 IIS 管理器 → 左侧选“服务器名” → 双击“FastCGI 设置”
- 右键 → “添加应用程序”,填入:
→ 可执行文件:C:\php\php-cgi.exe
→ 初始化参数保持默认即可 - 回到网站根节点 → “处理程序映射” → “添加模块映射”
→ 请求路径:*.php
→ 模块:FastCgiModule(下拉菜单里必须能看到)
→ 可执行文件:C:\php\php-cgi.exe
→ 名称:PHP_via_FastCGI - 勾选“仅限脚本”和“验证文件是否存在”,点击确定
验证与排错要点
别急着放代码,先确认基础链路通不通。
- 命令行执行:
php -v → 看是否输出 8.0.30 版本
php --ini → 确认加载的是 C:\php\php.ini
php -m | findstr "mysql mysqli openssl" → 检查关键扩展是否启用 - 在站点根目录(如 C:\inetpub\wwwroot)新建 info.php:
<?php phpinfo(); ?> - 浏览器访问 http://localhost/info.php,看到完整信息页才算成功
- 若报 500 错误,检查 Windows 事件查看器 → Windows 日志 → 应用程序,过滤来源为“IIS-IIS Manager”或“PHP”,错误里通常明确提示缺 VC 运行库或 DLL 加载失败



















