目录
- 第一步:准备工作
- 环境要求
- 下载 PHP
- 下载 VC Redistributable (运行库)
- 第二步:安装和配置 PHP
- 解压 PHP
- 配置
php.ini - 将 PHP 添加到系统环境变量
- 第三步:配置 IIS 以支持 PHP (FastCGI)
- 安装 IIS 和 FastCGI 模块
- 注册 PHP 到 IIS
- 配置处理程序映射
- 第四步:测试 PHP 是否安装成功
- 创建测试页面
- 检查配置信息
- 第五步:常见问题与解决方案
- HTTP 500 错误
0 - Not Found- PHP 文件直接下载而不是执行
- 无法加载
php_curl.dll等扩展
第一步:准备工作
环境要求
- 操作系统: Windows Server 2025 / 2025 / 2025 或 Windows 10 / 11 (专业版/企业版)。
- Web 服务器: IIS (Internet Information Services)。
- PHP 版本: 我们将使用 PHP 8.2 (这是目前最新的稳定 LTS 版本),你可以根据需要选择其他版本。
- 架构: 确保你下载的 PHP 和 VC Redistributable 的架构(32位或64位)与你的 IIS 和操作系统一致。强烈推荐使用 64位 (x64)。
下载 PHP
访问 PHP 官方下载页面:https://windows.php.net/download/
- 选择 PHP 8.2 或你想要的版本。
- 下载 x64 Non Thread Safe (NTS) 版本,对于 IIS/FastCGI,NTS 版本是标准选择。
- 下载文件名为
php-8.2.x-nts-Win32-vs16-x64.zip,这是一个 ZIP 压缩包,无需安装,直接解压即可。
下载 VC Redistributable
PHP 是用 C++ 编写的,需要 Microsoft Visual C++ Redistributable 才能运行,你下载的 PHP 版本旁边会注明需要哪个 VC 版本("VS16" 对应 Visual Studio 2025)。
- 访问 Microsoft 官方下载页面:https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170
- 下载 x64 版本的 "C++ Redistributable for Visual Studio 2025"。
- 运行安装程序,点击“是”和“安装”即可完成安装。
第二步:安装和配置 PHP
解压 PHP
- 在你的系统上创建一个目录来存放 PHP,
C:\php。 - 将下载的
php-8.2.x-nts-Win32-vs16-x64.zip解压到C:\php目录中。 - 进入
C:\php目录,将php.ini-development文件复制一份,并重命名为php.ini。php.ini-production是生产环境的配置,我们通常修改php.ini-development来进行调试。
配置 php.ini
php.ini 是 PHP 的核心配置文件,用记事本或 VS Code 等文本编辑器打开它。
- 启用扩展: 找到
;extension_dir = "ext"这一行,去掉前面的分号 ,并确保路径正确,由于我们解压在C:\php,ext目录就在里面,这行应该是:extension_dir = "ext"
- 启用常用扩展: 找到以下扩展,去掉前面的分号 来启用它们,这些是开发中非常常用的模块。
;extension=curl ;extension=fileinfo ;extension=gd ;extension=mbstring ;extension=mysqli ;extension=openssl ;extension=pdo_mysql
启用后如下:
extension=curl extension=fileinfo extension=gd extension=mbstring extension=mysqli extension=openssl extension=pdo_mysql
- 配置时区: 找到
;date.timezone =,去掉分号并设置一个时区,date.timezone = Asia/Shanghai
将 PHP 添加到系统环境变量
这一步是为了方便在命令行中使用 php 命令。
- 右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
- 在“系统变量”区域,找到名为
Path的变量,双击它。 - 点击“新建”,然后输入 PHP 的安装路径:
C:\php。 - 点击“确定”保存所有设置。
- 打开一个新的命令提示符(CMD)窗口,输入
php -v,如果能看到 PHP 版本信息,说明配置成功。
第三步:配置 IIS 以支持 PHP (FastCGI)
IIS 本身不直接运行 PHP,我们需要通过 FastCGI 协议来让 IIS 将 PHP 请求交给 PHP-CGI 进程处理。
安装 IIS 和 FastCGI 模块
如果你还没有安装 IIS,请先安装:
- 打开 “服务器管理器” -> “添加角色和功能”。
- 一直点击“下一步”,直到 “角色服务” 页面。
- 在 “Web 服务器 (IIS)” 下,展开它。
- 确保 “应用程序开发” 中的以下选项已勾选:
- ASP.NET (可选)
- CGI
- 点击“安装”。
如果你已经安装了 IIS,但不确定是否有 CGI 模块,可以通过以下方式检查:
- 打开 “服务器管理器” -> “工具” -> “Internet Information Services (IIS) 管理器”。
- 在左侧管理器树中,点击你的服务器名称。
- 在中间的 “IIS” 区域,你应该能看到 “处理程序映射” 等图标,如果看不到,说明模块未安装,需要通过 “服务器管理器” 的 “角色” -> “Web 服务器 (IIS)” -> “管理” -> “添加角色服务” 来安装 “CGI” 功能。
注册 PHP 到 IIS
这是最关键的一步,我们需要告诉 IIS 如何处理 .php 文件。
- 打开 IIS 管理器。
- 在左侧,点击你的服务器名称。
- 在中间的 IIS 区域,双击 “处理程序映射”。
- 在右侧的 “操作” 面板中,点击 “添加脚本映射...”。
- 在弹出的窗口中填写以下信息:
- 请求路径:
*.php(告诉 IIS 所有以.php结尾的文件都由这个处理器处理) - 可执行文件:
C:\php\php-cgi.exe(指向 PHP 的 CGI 程序,请确保你的路径正确) - 名称:
PHP_via_FastCGI(可以任意命名,方便识别) - 点击“请求”。
- 请求路径:
- 在弹出的 “添加模块请求” 窗口中,从 “模块” 下拉列表中选择
FastCgiModule。 - 点击“确定”。
你的处理程序映射列表中应该多了一个针对 PHP 的映射。
配置 FastCGI 设置
为了让 PHP-CGI 进程更稳定高效,我们需要配置它的一些参数。
- 在 IIS 管理器左侧,点击你的服务器名称。
- 在中间的 IIS 区域,双击 “处理程序”。
- 在右侧的 “操作” 面板中,点击 “注册程序...”。
- 在弹出的窗口中,填写以下信息:
- 可执行文件:
C:\php\php-cgi.exe(再次确认路径) - 名称:
PHP(可以任意命名) - 点击“确定”。
- 可执行文件:
- 在 “处理程序” 列表中,你应该能看到刚刚注册的
PHP,选中它。 - 在右侧的 “操作” 面板中,点击 “设置...”。
- 在 “FastCGI 设置” 窗口中,你可以进行一些高级配置,
- 实例最大数: 默认是 4,可以适当调高,如 10 或 20,以应对高并发。
- 环境变量: 这里可以设置 PHP 的环境变量,
PHP_FCGI_CHILDREN等,对于入门,可以保持默认。
- 点击“应用”和“确定”保存。
第四步:测试 PHP 是否安装成功
创建测试页面
- 打开 IIS 管理器,在左侧点击你的 网站 ("Default Web Site")。
- 在中间的 “操作” 面板中,点击 “添加虚拟目录...”。
- 别名:
phpinfo - 物理路径: 选择一个存放测试文件的文件夹,
C:\inetpub\wwwroot\phpinfo。 - 点击“确定”。
- 别名:
- 在
C:\inetpub\wwwroot\phpinfo文件夹中,创建一个名为info.php的文件。 - 用记事本打开
info.php,输入以下内容:<?php phpinfo(); ?>
- 保存文件。
检查配置信息
- 打开浏览器,访问你刚刚创建的页面地址:
http://你的服务器IP或域名/phpinfo/info.phphttp://localhost/phpinfo/info.php
- 如果一切正常,你应该能看到一个详细的 PHP 配置信息页面,这证明了 PHP 和 IIS 已经成功集成!
第五步:常见问题与解决方案
HTTP 500 错误 (内部服务器错误)
这是最常见的错误,原因通常是 php.ini 配置错误或 FastCGI 进程崩溃。
- 解决方案:
- 检查
php.ini文件中是否有语法错误(比如缺少分号、引号不匹配等)。 - 检查
C:\php目录的权限,确保 IIS_IUSRS 或 IIS_USRS 用户组对该目录有“读取”和“执行”权限。 - 查看 IIS 的详细错误日志,在 IIS 管理器中,双击 “错误页”,点击 “编辑功能设置...”,将 “详细错误” 设置为 “true”,然后刷新页面,你会看到更具体的错误信息。
- 检查 PHP 的日志,在
php.ini中找到;error_log = php_errors.log,去掉分号,PHP 的错误信息会记录在C:\php\php_errors.log文件中,查看这个文件可以找到问题根源。
- 检查
0 - Not Found
IIS 找不到你请求的文件。
- 解决方案:
- 检查 URL 是否正确,文件是否真的存在于指定的目录中。
- 检查网站的 “默认文档” 设置,在 IIS 管理器中,选中你的网站,双击 “默认文档”,确保
index.php或default.php在列表中。
PHP 文件直接下载而不是执行
浏览器直接将 .php 文件作为文件下载,而不是解析执行。
- 解决方案:
这说明 处理程序映射 没有配置成功。
- 回到 IIS 管理器的 “处理程序映射”。
- 检查
*.php的映射是否存在,“模块” 列中显示的是FastCgiModule。 - 如果映射不存在,请按照 第三步 重新添加。
- 如果映射存在,尝试移除后重新添加。
无法加载 php_curl.dll 或其他扩展
访问 phpinfo() 页面时,在 Loaded Configuration File 下看到 extension_dir 正确,但某些扩展显示为 disabled。
- 解决方案:
- 路径问题: 确保
extension_dir = "ext"这一行没有分号,并且路径指向你php目录下的ext文件夹。 - 文件不存在: 进入
C:\php\ext目录,检查php_curl.dll文件是否存在,如果不存在,说明你的 PHP 压缩包可能不完整,请重新下载。 - 依赖库缺失: 某些扩展(如
curl)需要额外的 DLL 文件,确保你已经安装了对应版本的 VC Redistributable。 - 权限问题: 确保 IIS_IUSRS 用户组对
C:\php\ext目录有读取权限。
- 路径问题: 确保
至此,PHP 在 IIS 上的安装和配置就全部完成了,你已经成功搭建了一个功能强大的 Windows Web 开发环境。
