自从有了FastCGI,IIS支持PHP变得非常简单。
版本选择
先到官网下载PHP 5.6,可以发现有4个版本:
- VC11 x86 Non Thread Safe
- VC11 x86 Thread Safe
- VC11 x64 Non Thread Safe
- VC11 x64 Thread Safe
官网已经注明,x64版本是实验性质的,所以还是用x86版吧。至于Thead Safe(线程安全)/Non Thead Safe(非线程安全),官网并没有说明各自用途何在。Google了一番以后,我找到了答案:FastCGI是单线程执行的,因而不需要线程安全版本,去掉线程安全的防护后可以提高执行效率;而ISAPI方式则是多线程模式,所以需要采用线程安全版本。综上所述,我们应下载 VC11 x86 Non Thread Safe 这个版本。
注意,这四个版本都是通过Visual Studio 2012编译器编译的,所以要先安装Visual C++ Redistributable for Visual Studio 2012,否则无法运行。此外,由于我们选用的是x86的php,所以Visual C++ Redistributable for Visual Studio 2012也要对应地安装x86版,千万不要因为系统是64位的就装了x64版。
配置php.ini
无论是在Linux还是Windows下安装,这都是不可忽略的一步。以下配置是必须的(记得删除行首的分号):
date.timezone = "Asia/Shanghai"
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
extension_dir = "./ext"
接下来根据自己需要启用对应的extension。
在IIS中添加PHP模块
首先确认IIS中启用了CGI功能:
打开IIS管理器后,选中左边目录树的最顶(这样可以使设置对所有站点都有效)。
首先点击“FastCGI 设置”,添加PHP为FastCGI应用程序,在新建对话框的路径文本框中选择PHP目录下的“php_cgi.exe”,其他设置按默认的就行;接着回到上级视图,打开“处理映射程序”,添加PHP的映射,配置如下图所示:
按“Win+R”调出运行对话框,输入“iisreset”重启IIS。至此,配置完成,无须拷贝文件、无须配置环境变量,一切就是这么简单。
评论 (0条)