IIS8 使用FastCGI配置PHP环境支持 过程详解
平时帮朋友们配置过一些PHP环境的服务器,但是一直使用的都是Apache HTTP+PHP,今天呢,我吧IIS+PHP配置方式给大家发一下下~呵呵。
在这里,我使用的是FastCGI模块映射的方式配置的,当然还有ISAPI处理程序映射,不过ISAPI的方式在PHP5.5之后就没有了,FastCGI是推荐的方式,效率相对比较高也稳定。
系统我用的是自己的笔记本,Windows 8.1,IIS是8的,当然Windows Server也是一样的,照着弄就行。
演示环境:
- Windows 8.1
- IIS 8
- PHP 5.6.4
过程:
1. 开启系统的IIS平台
貌似除了Windows Server的系统,其他的系统里面IIS都是默认关闭的,需要手动开启。
打开卸载程序面板,点击左侧的“打开或关闭Windows功能”,然后打开了“Windows功能”窗口:

然后,找到“Internet Information Service”(IIS)并展开,勾选所有项(实际上很多选项使我们用不到的,用什么勾选什么就OK了):

等待启用,完成后,运行CMD命令“inetmgr”,打开IIS管理面板:

左侧网站中会有一个默认站点“Default Web Site”,默认自动启动的,我们访问"http://localhost",会显示IIS 8的欢迎界面,表示IIS启用成功:

2. 选择下载PHP环境
去PHP官网下载Windows环境的PHP环境,目前最新版本是“PHP 5.6 (5.6.4)”,也是我的演示环境。
但是官网下面有四个选项:
- VC11 x86 Non Thread Safe (2014-Dec-18 00:06:50)
- VC11 x86 Thread Safe (2014-Dec-18 00:01:59)
- VC11 x64 Non Thread Safe (2014-Dec-18 00:02:02)
- VC11 x64 Thread Safe (2014-Dec-18 00:02:02)
“Non Thread Safe”就是非线程安全版本,“Thread Safe”就是线程安全版本。
FastCGI的执行方式是单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查方面的防护反而可以提高执行的效率。我们这次是通过FastCGI方式配置的,所以选择“Non Thread Safe”版本的环境,x86则是32位,x64则是64位,这个就不用多说了。
我的系统是Windows 8.1 x64的,所以在这里我就选择“VC11 x64 Non Thread Safe (2014-Dec-18 00:02:02)”,点击下载,在这里下载后我就解压到“C:\PHP5”这个目录了。
3. 配置PHP环境
转到刚刚解压的PHP目录,我的是“C:\PHP5”,将“php.ini-development”文件复制一份,重命名为“php.ini”,这个作为php环境的配置文件。
用记事本打开编辑,搜索“date.timezone”,找到“;date.timezone =”并编辑为:"date.timezone = Asia/Shanghai,如下:

还有以下这些设置项,和上面一样搜索设置即可:
- register_globals = On # 开启GET数据调用
- short_open_tag = On # PHP支持短标签
- cgi.force_redirect = 0 # 开启以CGI方式执行PHP
- fastcgi.impersonate = 1
- cgi.rfc2616_headers = 1
然后,找到以下扩展选项,去掉前面的分号(启用):
- ;extension=php_gd2.dll
- ;extension=php_curl.dll
- ;extension=php_mbstring.dll
- ;extension=php_exif.dll
- ;extension=php_mysql.dll
- ;extension=php_mysqli.dll
- ;extension=php_scokets.dll
- ;extension=php_pdo_mysql.dll
去掉后如下:

然后搜索“extension_dir”,去掉前面的分号,并且指定PHP环境扩展文件所在目录,也就是下载PHP中的ext文件夹,例如我的:

最后,保存,复制一份这个“php.ini”到“C:\Windows”中即可。
4. 启用IIS的PHP支持
回到IIS管理中心,点击目标网站,在右侧找到“处理程序映射”:

打开“处理程序映射”,点击右侧的“添加模块映射”,弹出模块映射设置窗口,名称输入“*.php”,模块选择“FastCgiModule”,执行程序选择你刚刚下载配置的PHP目录中的“php-cgi.exe”,最后确定:

然后,点击网站,右侧的“默认文档”中,添加php的默认页面“index.php”项:


5. 测试PHP环境
打开IIS管理平台,右键左侧刚刚配置好的站点,浏览文件夹,新建一个“index.php”,输入以下代码:
<?php
phpinfo();
?>
然后,访问“http://localhost/index.php”,便可以看到PHP的信息页面:

到此,全部配置完毕!呵呵。
因为以前的PHP环境是msi安装版本的,系统环境缺少东西的话会自动在线安装,也可以手动界面化配置,但是现在都是解压版的了,所以,有时候可能会出现一些问题,但都是小问题,百度上有很多。
比如常见的一个问题:php.exe无法运行或者无权限访问什么的,就是系统需要安装“Visual C++ Redistributable for Visual Studio 2012 Update 4(x64)”和“Visual C++ Redistributable for Visual Studio 2012 Update 4(x86)”。
上面演示如果有什么漏掉了忘写了,请留言说明,如果需要什么软件找不到,可以留言,软件我都已经上传网盘了。
好了,码字不容易,觉得还不错记得点个赞哦~呵呵。
IIS8 使用FastCGI配置PHP环境支持 过程详解的更多相关文章
- fabric网络环境启动过程详解
这篇文章对fabric的网络环境启动过程进行讲解,也就是我们上节讲到的启动测试fabric网络环境时运行network_setup.sh这个文件的执行流程 fabric网络环境启动过程详解 上一节我们 ...
- 【必知必会】手把手教你配置MySQL环境变量——图文详解
一.先决条件 假设我们已经成功安装MySQL数据库.如果还有小伙伴不知道如何安装MySQL数据库,可以在本文下留言,留言数超20,则出一期"手把手教你安装MySQL数据库--图文详解&quo ...
- pycharm+PyQt5+python最新开发环境配置,踩坑过程详解
安装工具:Pycharm 专业版2017.3PyQT5python3 pyqt5-tools 设置扩展工具的参数找到setting->tools->external tools,点击加号新 ...
- win10下vs2015配置Opencv3.1.0过程详解
下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载. 点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...
- win10下vs2015配置Opencv3.1.0过程详解(转)
下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载. 点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...
- Linux系统下配置squid代理服务器的过程详解
简单记录一下Squid透明代理服务器的配置 环境:VirtualBox + CentOS 6.0 + squid-3.1.4-1.el6.i686 0.检查squid是否默认安装,没有安装的先安装 [ ...
- nginx上用fastcgi配置python环境
费了2天的功夫,翻阅了无数的中文.英文资料,终于搞定.写下此文留待以后翻阅用 本文环境,centOS 5.4 ,Nignx-0.8.49, Python 2.6.5 ========== ...
- uboot主Makefile分析(t配置和编译过程详解)
1.编译uboot前需要三次make make distcleanmake x210_sd_configmake -j4 make distclean为清楚dist文件. make x210_sd_c ...
- uboot配置和编译过程详解【转】
本文转载自:http://blog.csdn.net/czg13548930186/article/details/53434566 uboot主Makefile分析1 1.uboot version ...
随机推荐
- Ajax 概念 分析 举例
Ajax是结合了访问数据库,数据访问,Jquery 可以做页面局部刷新或者说是页面不刷新,我可以让页面不刷新,仅仅是数据的刷新,没有频繁的刷页面,是现在比较常用的一种方式做页面那么它是怎么实现页面无刷 ...
- 初探Vue
Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...
- Xamarin+Prism开发详解一:PCL跨平台类库与Profile的关系
在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]中提到过以下错误,不知道大伙还记得不: 无法安装程序包"Microsoft.Identity.Client 1.0. ...
- 非关系型数据库(NoSql)
最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...
- python 入门笔记
1.pip包安装 pip install *** pip 中http和https代理设置(/etc/profile) 2.强制保存 :w !sudo tee % 3.cffi是python调用C的包 ...
- FFmpeg 中AVPacket的使用
AVPacket保存的是解码前的数据,也就是压缩后的数据.该结构本身不直接包含数据,其有一个指向数据域的指针,FFmpeg中很多的数据结构都使用这种方法来管理数据. AVPacket的使用通常离不开下 ...
- C# salt+hash 加密
一.先明确几个基本概念 1.伪随机数:pseudo-random number generators ,简称为:PRNGs,是计算机利用一定的算法来产生的.伪随机数并不是假随机 数,这里的" ...
- SharePoint 2013: A feature with ID has already been installed in this farm
使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...
- 【SAP业务模式】之ICS(四):组织单元的配置
SAP的ICS业务后台配置主要有以下几个配置点: 1.组织单元的配置(公司代码.销售组织.工厂.采购组织等): 2.主数据的部分: 3.订单和开票的定价过程: 4.开票输出类型: 5.公司间发票的配置 ...
- 怎样两个月完成Udacity Data Analyst Nanodegree
在迷恋数据科学很久后,我决定要在MOOC网站上拿到一份Data Science的证书.美国三个MOOC网站,Udacity上的课程已经被分成了数个nanodegree,每个nanodegree都是目前 ...