iis部署php需四步:一、安装nts版php并配置path;二、在iis中启用fastCGI并映射.php到php-cgi.exe;三、配置php.ini,设cgi.fix_pathinfo=0、extension_dir及启用扩展;四、创建info.php测试,访问验证是否正常解析。

如果您在IIS服务器上部署了PHP应用程序,但访问时仅显示PHP源代码或返回500错误,则可能是PHP未正确注册为IIS的模块或处理器映射缺失。以下是配置IIS运行PHP代码的具体操作步骤:
一、安装PHP并配置环境变量
确保PHP以非线程安全(NTS)版本安装,并将其路径加入系统PATH,使IIS能调用php-cgi.exe。需避免使用线程安全(TS)版本,因其与IIS的FastCGI模式不兼容。
1、从windows.php.net下载与IIS匹配的PHP NTS ZIP包(如PHP 8.2 x64 Non-Thread-Safe)。
2、解压至固定目录(例如:C:PHP),确认目录中存在php-cgi.exe文件。
立即学习“PHP免费学习笔记(深入)”;
3、右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”中找到Path,点击“编辑”,新增一行:C:PHP。
4、以管理员身份打开命令提示符,执行php-cgi -v,验证输出PHP版本信息且无报错。
二、在IIS中启用FastCGI并添加PHP映射
FastCGI是IIS与PHP交互的核心机制,必须手动注册php-cgi.exe为FastCGI应用,并为.php扩展名绑定处理器。
1、打开“IIS管理器”,在左侧连接树中右键本地服务器名称,选择“管理处理器映射”。
2、在右侧操作栏点击“添加模块映射”,填写以下内容:
请求路径:*.php;
模块:FastCgiModule;
可执行文件:C:PHPphp-cgi.exe;
名称:PHP_via_FastCGI。
3、勾选“记录访问日志”和“调用程序时验证文件是否存在”,点击“确定”。
4、进入“IIS”→“FastCGI设置”,确认列表中已存在C:PHPphp-cgi.exe条目;若无,点击右侧“添加应用程序”,路径填入该exe完整路径。
三、配置PHP.ini并启用必要扩展
PHP运行依赖正确的ini配置,尤其需启用FastCGI支持并关闭危险函数,确保与IIS协同工作。
1、将解压目录中的php.ini-development复制并重命名为php.ini。
2、用记事本打开C:PHPphp.ini,修改以下关键项:
将;cgi.fix_pathinfo=1取消注释并设为cgi.fix_pathinfo=0;
将;extension_dir = “ext”改为extension_dir = “C:PHPext”;
取消注释;extension=mysqli和;extension=mbstring(根据需要启用)。
3、保存文件后,在IIS管理器中右键站点→“重新启动”,或运行命令iisreset /noforce刷新配置。
四、验证PHP是否正常运行
通过创建测试脚本并访问其URL,直接检测PHP解析能力与IIS响应链路是否畅通。
1、在网站根目录(如C:inetpubwwwroot)新建文本文件,命名为info.php。
2、用记事本打开该文件,输入内容:,保存并关闭。
3、打开浏览器,访问http://localhost/info.php,页面应完整显示PHP配置信息表;若显示源码,说明处理器映射未生效;若报500错误,检查PHP错误日志(默认位于C:PHPphp_errors.log)。