首先,根据自己的需求下载对应的PHP版本,其中有vc9( Visual Studio 2008 编译)、vc11(Visual Studio 2012 编译)、vc14(Visual Studio 2015 编译),自己需求可以随意选择一个版本。每个版本下又分为x86和x64,下面再分为Non Thread Safe(非线程安全)、Thread Safe(线程安全)2种,根据我对官方说明的理解,因为IIS请求解析PHP是通过模块FastCGI 完成的所以这里我选择了 php-7.0.1-nts-Win32-VC14-x86(VC14 x86 Non Thread Safe)。

以上选择版本下载完成后,解压到对应目录,这里我选择的是D:\php,解压完成后找到php.ini-production(或php.ini-development),并将其拷贝为php.ini。然后打开php.ini进行配置,其中必要的配置有:

 

必须的指令:


extension_dir = <指向扩展库目录的路径> - extension_dir 需要指向存放 PHP 扩展库文件的目录。可以是绝对路径(如 "C:\PHP\ext")或相对路径(如 ".\ext")。在 php.ini 文件中要加载的扩展库都必须在 extension_dir 所指定的目录之中。extension_dir =D:\php\php-7.0.1-nts-Win32-VC14-x86\ext


extension = xxxxx.dll - 对每个需要激活的扩展,都需要一行相应的 "extension=" 语句来说明 PHP 启动时加载 extension_dir 目录下的哪些扩展。


log_errors = On - PHP 有错误日志的功能可以将错误报告发送到一个文件中,或者系统服务中(例如系统日志),与下面的 error_log 指令配合工作。在 IIS 下运行时,log_errors 应被激活,并且配合有效的 error_log


error_log = <指向错误日志文件的路径> - error_log 需要指向一个具有绝对或相对路径的文件名用于记录 PHP 的错误日志。Web 服务器需要对此文件有可写权限。最常用的位置是各种临时目录,例如 "C:\inetpub\temp\php-errors.log"。


cgi.force_redirect = 0 - 在 IIS 下运行时需要关闭此项指令。这是个在许多其它 web 服务器中都需要激活的目录安全功能,但是在 IIS 下如果激活则会导致 PHP 引擎在 Windows 中出错。


cgi.fix_pathinfo = 1 - 此指令可以允许 PHP 遵从 CGI 规则访问真实路径信息。IIS 的 FastCGI 实现需要激活此指令。


fastcgi.impersonate = 1 - IIS 下的 FastCGI 支持模拟呼叫用户方安全令牌的能力。这使得 IIS 可以定义请求方的安全上下文。


fastcgi.logging = 0 - FastCGI 日志在 IIS 下应被关闭。如果激活,则任何类的任何消息都被 FastCGI 视为错误条件从而导致 IIS 产生 HTTP 500 错误。

 

可选指令:

max_execution_time = ## - 此指令设定任何脚本所能够运行的最长时间。默认值是 30 秒。如果 PHP 程序需要更多时间运行则增大此值。

memory_limit = ###M - PHP 进程能够占用的内存,单位为兆字节。默认值是 128M,对大多数程序都够用了。某些复杂程序可能需要更多。


display_errors = Off - 此指令设定 PHP 是否将任何错误信息包含在返回给 web 服务器的数据流中。如果设定为 "On",则 PHP 将任何由 error_reporting 指令所定义的错误信息作为错误数据流发给 web 服务器。为安全起见,建议对在线服务器设为 "Off" 以避免泄露任何可能包含在错误消息中的安全敏感信息。


open_basedir = <指向目录的路径,由分号分隔> - 例如 openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp"。此指令指定了允许 PHP 进行文件系统操作的目录。任何对这些目录之外的文件操作都会导致错误。此指令在共享主机环境中特别有用,可以阻止 PHP 脚本访问任何其网站根目录之外的文件。


upload_max_filesize = ###M 和 post_max_size = ###M - 分别是上传文件的最大大小和 POST 方法提交数据的最大大小。如果 PHP 程序需要上传大型数据例如照片和视频文件,则应提高这两项的值。

 

配置完成后保存。打开系统环境变量,在Path处添加D:\php\php-7.0.1-nts-Win32-VC14-x86。

最后配置IIS。打开电脑程序和功能,添加CGI 如果已经有的看一眼跳过这一步,如图

Windows IIS6.1 配置PHP7.0.1_php

添加完成后在运行出输入iis 打开iis管理器,在功能视图中选择处理程序映射,如图Windows IIS6.1 配置PHP7.0.1_php_02

打开添加模块映射,如图Windows IIS6.1 配置PHP7.0.1_php_03

完成添加以后确定,更改IIS .NET Framework版本,如图Windows IIS6.1 配置PHP7.0.1_php_04

至此IIS配置PHP7.0.1完成。

测试。在IIS默认文档中添加index.php,然后创建一个index.php文件打开在里面输入<?phpphpinfo();?>,将其放大IIS根目录用浏览器打开可以看到Windows IIS6.1 配置PHP7.0.1_php_05

如果能看到配置的PHP版本证明配置成功。