Win7纯净版启用IIS必需组件需在“Windows功能”中勾选:IIS管理控制台、CGI(自动启用FastCGI)、.NET Framework 3.5;完成后运行inetmgr可打开且左侧显示“Web服务器(IIS)”节点即成功。

Win7纯净版默认不带IIS,更不会预装PHP支持;必须手动启用IIS核心组件 + CGI/FastCGI + .NET Framework 3.5,缺一不可,否则后续PHP根本跑不起来。
如何确认Win7纯净版已启用IIS必需组件
纯净版Win7通常连「Web管理工具」和「CGI」都未勾选,光开「Internet信息服务」主项是无效的。打开「控制面板 → 程序和功能 → 打开或关闭Windows功能」后,务必展开并确认以下三项已勾选:
-
Internet信息服务→Web管理工具→IIS管理控制台 -
Internet信息服务→万维网服务→应用程序开发功能→CGI(勾选此项会自动启用FastCGI模块) -
.NET Framework 3.5(包括.NET 2.0和3.0)(PHP Manager或某些扩展依赖它,不装会导致HTTP 错误 500.0)
勾选后点击确定,等待系统完成安装(可能需数分钟)。完成后,在开始菜单运行中输入 inetmgr 能正常打开 IIS 管理器,且左侧树形菜单中能看到「Web服务器(IIS)」节点,才算真正启用成功。
为什么PHP在IIS下报“FastCGI 进程意外退出”
这个错误几乎全因 PHP 运行时环境缺失或不匹配导致,纯净版Win7尤其高发。常见原因有:
立即学习“PHP免费学习笔记(深入)”;
- 没装
Microsoft Visual C++ 2015-2019 Redistributable (x64)—— PHP 7.2+ 编译依赖 vcruntime140.dll 14.16 版本,旧版(如14.0)会直接报错:PHP Warning: 'vcruntime140.dll' 14.0 is not compatible with this PHP build linked with 14.16 - PHP 解压路径含中文、空格或长路径(如
C:\Program Files\php),IIS调用php-cgi.exe时权限或路径解析失败 -
php.ini中cgi.force_redirect = 0未开启,或fastcgi.impersonate = 1未取消注释(这两项对 FastCGI 必须显式设置)
建议将 PHP 解压到根目录短路径,例如 C:\php74;修改 php.ini 后务必执行 iisreset /restart(管理员权限CMD)生效。
处理程序映射怎么配才不踩坑
IIS 7.5 不再推荐用 ISAPI,必须走 FastCGI + 模块映射。在 IIS 管理器中定位到你的网站 → 双击「处理程序映射」→ 右侧「添加模块映射」,填入以下值(注意大小写与斜杠方向):
-
请求路径:*.php -
模块:FastCgiModule -
可执行文件:C:\php74\php-cgi.exe(替换成你的真实路径) -
名称:PHP_via_FastCGI
点击确定后,若弹出「是否允许此模块」提示,务必点「是」。别漏掉这步——否则请求会被拒绝,返回 HTTP Error 404.17(脚本无法由静态文件处理程序处理)。
php.ini 关键配置项容易被忽略的细节
纯净版没有预置任何 PHP 配置,php.ini-development 必须重命名为 php.ini 并至少调整以下几处,否则 phpinfo() 可能显示空白或报错:
-
extension_dir = "C:/php74/ext"(反斜杠会失效,必须用正斜杠或双反斜杠) -
date.timezone = "Asia/Shanghai"(不设时区,date()等函数会警告) -
display_errors = On和log_errors = Off(调试阶段必须开,否则 500 错误看不到具体原因) - 启用常用扩展前,先删掉前面的分号:
extension=php_mbstring.dll、extension=php_gd2.dll(否则中文处理、图片函数直接不可用)
改完保存后,不要只靠浏览器刷新——IIS 不会自动重载 php.ini,必须重启 W3SVC 服务或执行 iisreset。最稳妥的方式是:改完配置 → 管理员CMD运行 iisreset /restart → 再访问 http://localhost/phpinfo.php 验证。



















