iis 10 部署 php 8.4.1 需先启用 cgi 功能,再注册 php-cgi.exe 为 fastcgi 应用并配置环境变量,接着为网站添加 .php 处理程序映射,最后通过 phpinfo() 验证 server api 为 cgi/fastcgi。

Windows IIS 10 部署 PHP 8.4.1 时,开启 FastCGI 不是“一键开关”,而是通过注册 PHP-CGI 可执行文件并配置 IIS 内部 FastCGI 池来实现的。关键在于让 IIS 认识 php-cgi.exe 并允许它处理 .php 请求。
确认 IIS 已启用 CGI 功能
FastCGI 依赖底层 CGI 支持。若未启用,后续所有配置都会失败:
- 打开「控制面板 → 程序 → 启用或关闭 Windows 功能」
- 展开「Internet Information Services → World Wide Web Services → 应用程序开发功能」
- ✅ 勾选「CGI」(必须启用;FastCGI 是其扩展机制)
- 点击「确定」,等待安装完成,重启 IIS 管理器(或运行 iisreset /noforce)
将 php-cgi.exe 注册为 FastCGI 应用程序
这一步在 IIS 中创建一个可复用的 PHP 进程池,是 FastCGI 正常工作的基础:
- 以管理员身份打开「IIS 管理器」
- 在左侧连接树中,右键本地服务器名称 → 选择「管理」→「快速启动」→「FastCGI 设置」
- 右侧操作栏点击「添加应用程序」
- 「完整路径」填入:例如 C:\php\php-cgi.exe(请严格对应你解压 PHP 8.4.1 的实际路径)
- 点击「确定」后,该路径会出现在 FastCGI 应用程序列表中
- 双击该条目,在「环境变量」区域点击「环境变量…」按钮,新增两项:
• PHPRC = C:\php(指向 php.ini 所在目录)
• PHP_FCGI_MAX_REQUESTS = 10000(防内存泄漏,推荐值)
为网站绑定 .php 处理程序映射
仅注册 FastCGI 应用还不够,必须告诉 IIS “遇到 .php 文件时,调用哪个 FastCGI 应用”:
- 在 IIS 管理器中,展开目标网站(如 Default Web Site),双击「处理程序映射」
- 右侧点击「添加模块映射」
- 填写以下内容:
• 请求路径:*.php
• 模块:FastCgiModule
• 可执行文件:C:\php\php-cgi.exe(路径需与上一步完全一致)
• 名称:PHP_via_FastCGI(任意有意义名称即可) - 勾选「仅限脚本」和「调用程序时验证文件是否存在」
- 点击「确定」,弹出权限提示时点「是」
验证 FastCGI 是否已生效
配置完成后,不是立即可用,需检查三处是否连通:
- 在网站根目录(如 C:\inetpub\wwwroot)新建 info.php,内容为:
- 访问 http://localhost/info.php
- 成功显示 PHP 信息页,且页面顶部明确标注 Server API: CGI/FastCGI,即表示 FastCGI 已开启并正常工作
- 若出现 500 错误、下载 .php 文件、或空白页,请检查:
• php.ini 中 cgi.force_redirect = 0 和 fastcgi.impersonate = 1 是否已取消注释并设为 1
• IIS_IUSRS 对 C:\php 目录是否有读取+执行权限
• php-cgi.exe 路径是否拼写正确、有无中文/空格
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











