IIS 中 PHP 版本从旧版升级至 8.2 的完整流程
下面给你一套IIS 更换 PHP 版本(升级 / 降级)的完整、稳妥流程,适用于 IIS 7–10、PHP 7.4/8.0/8.1/8.2/8.3(Windows 10/11 或 Server)。
一、先明确:IIS 必须用 NTS + php-cgi.exe
-
IIS 只支持 FastCGI,必须选:
-
NTS(非线程安全)x64
-
文件名:
php\-cgi\.exe
-
-
不要用 TS、不要用
php\.exe,否则直接 500 错误。
二、下载新 PHP 并解压(和旧版并存)
-
官网下载(选 NTS x64):
https://windows.php.net/download/ -
解压到新目录(不要覆盖旧版):
-
旧版:
C:\\php74 -
新版:
C:\\php82
-
-
复制一份配置文件:
复制 php.ini-development → 另存为 php.ini
三、配置新 php.ini(关键,避免 500)
打开 C:\\php82\\php\.ini,至少保证这些:
; 时区
date.timezone = Asia/Shanghai
; 扩展目录(必须正确)
extension_dir = "C:\php82\ext"
; 必须开启的扩展(MySQL)
extension=mysqli
extension=pdo_mysql
; FastCGI 硬性要求
cgi.force_redirect = 0
fastcgi.impersonate = 1
cgi.fix_pathinfo=0
; 错误显示(排错用)
display_errors = On
display_startup_errors = On
四、给新 PHP 目录加权限(IIS 必加)
-
右键
C:\\php82→ 属性 → 安全 → 编辑 → 添加 -
输入:
IUSR→ 检查名称 → 确定 -
给 IUSR 勾选:读取、执行、列出文件夹内容
-
同样权限也要给:
C:\\inetpub\\wwwroot
五、IIS 更换版本(两种方法:单站 / 全局)
方法 A:只改当前网站(推荐,不影响其他站)
-
Win+R →
inetmgr打开 IIS -
左侧点你的网站(不是服务器根)
-
双击 处理程序映射
-
找到
\*\.php→ 右键 编辑-
可执行文件:改成新版路径
C:\php82\php-cgi.exe -
名称:可改成
PHP82\_FastCGI
-
-
确定 → 弹出 “是否更新 FastCGI 应用程序” → 选 “是”
方法 B:全局更换(所有网站统一版本)
-
左侧点服务器名(根节点)
-
双击 FastCGI 设置
-
找到旧版
php\-cgi\.exe→ 右键 编辑 → 把路径改成新版:C:\php82\php-cgi.exe -
再到 处理程序映射 把
\*\.php指向新版
六、更新系统环境变量 Path(可选但建议)
-
此电脑 → 右键属性 → 高级系统设置 → 环境变量
-
系统变量 → 编辑 Path
-
把旧版
C:\\php74删掉,新增:C:\php82 -
确定,重启电脑生效
七、重启 IIS 并验证
-
管理员 CMD:
iisreset -
在
wwwroot建info\.php:<?php phpinfo(); -
访问
http://localhost/info\.php-
看到 PHP Version 8.2.x → 成功
-
检查
Loaded Configuration File是C:\\php82\\php\.ini -
检查
mysqli、pdo\_mysql已启用
-
八、常见 500 坑(换版最容易踩)
-
VC++ 运行库缺失(PHP8 + 必装)
-
PHP 8.x 需要 VC17(VS2022)运行库
-
下载:微软官网搜 vc redist x64
-
-
php.ini 路径不对
- FastCGI 设置里要确认
PHPRC指向新版目录
- FastCGI 设置里要确认
-
旧版 php-cgi.exe 还在运行
- 重启 IIS:
iisreset
- 重启 IIS:
-
目录权限没给 IUSR
- 90% 的 500 都是权限问题
九、多版本并存(以后切换更方便)
如果你以后想随时切换:
-
把所有版本都解压到独立目录:
php74、php81、php82 -
在 IIS 给每个网站单独设置处理程序映射
-
想切哪个版本,就把该站
\*\.php指向对应php\-cgi\.exe
如果你愿意,我可以直接帮你远程式一步步排查:你告诉我
1)你要换到哪个 PHP 版本(7.4/8.1/8.2),
2)现在访问 info\.php 显示的具体错误信息(截图或文字),
我直接给你对应版本的 php.ini 完整复制版和IIS 点哪里的精确指引。
(注:文档部分内容可能由 AI 生成)
更多推荐

所有评论(0)