在 IIS 10 上配置 PHP 支持,推荐使用 FastCGI 方式,这是当前最稳定、最高效的集成方法。以下是详细的配置步骤:
1. 安装 IIS 角色
确保 IIS 已安装并启用必要功能:
打开 控制面板 > 程序 > 启用或关闭 Windows 功能。
勾选 Internet Information Services。
展开 World Wide Web Services > 应用程序开发功能,确保勾选 CGI。
点击 确定,等待安装完成。
2. 下载并配置 PHP
IIS 10 推荐使用 非线程安全(NTS) 版本的 PHP:
下载最新稳定版的 VC15 x64 Non-Thread Safe(或对应你系统的版本)ZIP 包。
将压缩包解压到一个固定目录,例如:C:\php。
在 C:\php 目录下,将 php.ini-production 复制并重命名为 php.ini。
用文本编辑器打开 php.ini,修改以下关键项:
extension_dir = "ext"
cgi.force_redirect = 0
fastcgi.impersonate = 1
date.timezone = Asia/Shanghai如需数据库支持,取消以下行的注释:
extension=mysqli
extension=pdo_mysql3. 配置 IIS 的 FastCGI 模块
打开 IIS 管理器(在开始菜单搜索 inetmgr)。
在左侧连接树中,点击 服务器名称(非站点)。
双击 FastCGI 设置。
点击右侧的 添加应用程序。
在 完整路径 中输入:C:\php\php-cgi.exe(请根据实际路径调整)。
展开 常规 选项,设置:
监视对文件所做的更改:C:\php\php.ini
活动状态时间限制:300 秒
点击 确定 保存。
4. 添加处理程序映射
在 IIS 管理器中,点击 处理程序映射。
点击右侧的 添加模块映射。
填写以下信息:
请求路径:*.php
模块:FastCgiModule
可执行文件:C:\php\php-cgi.exe(与上一步一致)
名称:PHP_via_FastCGI
点击 请求限制,确保勾选 仅限脚本。
点击 确定,并确认提示的脚本处理器权限。
5. 设置默认文档(可选)
为了让 IIS 默认加载 index.php:
在 IIS 管理器中,选择你的网站(如 Default Web Site)。
双击 默认文档。
点击 添加,输入 index.php。
使用 上移 按钮将 index.php 移至列表顶部。
6. 验证配置
在网站根目录(默认为 C:\inetpub\wwwroot)创建一个新文件 info.php。
写入以下内容:
<?php
phpinfo();
?>
保存文件,打开浏览器访问:http://localhost/info.php。
如果看到详细的 PHP 配置信息页面,说明配置成功。
常见问题排查
页面显示源码或下载 PHP 文件:检查处理程序映射是否勾选了“仅限脚本”,并确认 .php 映射未被 StaticFileModule 拦截。
500 内部服务器错误:检查 php-cgi.exe 路径是否正确,IIS_IUSRS 用户是否有权限读取 C:\php 目录。
PHP 扩展不生效:确认 php.ini 中扩展路径正确,且文件存在于 C:\php\ext\ 目录下。
依赖缺失:确保已安装 Microsoft Visual C++ Redistributable(与 PHP 版本匹配)。
提示:如需简化配置,可使用微软官方的 Web Platform Installer (Web PI) 自动安装 PHP,但该工具已逐步停用,手动配置更可靠且可控。
admin