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 ...
随机推荐
- 说说Makefile那些事儿
说说Makefile那些事儿 |扬说|透过现象看本质 工作至今,一直对Makefile半知半解.突然某天幡然醒悟,觉得此举极为不妥,只得洗心革面从头学来,以前许多不明觉厉之处顿时茅塞顿开,想想好记性不 ...
- socket读写返回值的处理
在调用socket读写函数read(),write()时,都会有返回值.如果没有正确处理返回值,就可能引入一些问题 总结了以下几点 1当read()或者write()函数返回值大于0时,表示实际从缓冲 ...
- JavaScript Object对象
目录 1. 介绍:阐述 Object 对象. 2. 构造函数:介绍 Object 对象的构造函数. 3. 实例属性:介绍 Object 对象的实例属性:prototype.constructor等等. ...
- Yeoman 官网教学案例:使用 Yeoman 构建 WebApp
STEP 1:设置开发环境 与yeoman的所有交互都是通过命令行.Mac系统使用terminal.app,Linux系统使用shell,windows系统可以使用cmder/PowerShell/c ...
- 七牛云:ckeditor JS SDK 结合 C#实现多图片上传。
成功了,搞了2天.分享一下经验. 首先是把官方的那个例子下载下来,然后照如下的方式修改. 其中tempValue是一个全局变量. function savetoqiniu() { var upload ...
- 【云知道】LoadRunner 录制问题集锦
关键词:各路录制小白汇集于此 虽然知道君对录制不感冒,但总是看到扎堆的人说这些问题,忍不住要站出来了. 百度虽好,帮助了很多小白,但关键是百度并没有排除错误内容,经过历史的几年传播,错的都快变对的了, ...
- CSS margin详解
以下的分享是本人最近几天学习了margin知识后,大有启发,感觉以前对margin的了解简直太浅薄.所以写成以下文章,一是供自己整理思路:二是把知识分享出来,避免各位对margin属性的误解.内容可能 ...
- 听H3絮叨:何以让天下没有难用的流程
最近朋友圈.网站新闻铺天盖地是"让天下没有难用的流程",有人就要问了,H3 BPM何德何能,为BPM站台,让天下没有难用的流程? 这是一个关于"办公室空想"的故 ...
- RMS:不能对生产服务器使用测试清单
问题说明:在使用office软件RMS加密时报:不能对生产服务器使用测试清单,或者使用 rmsbulk.exe进行RMS加密时,报不能连接到RMS服务器. 解决办法: 请到https://suppor ...
- MySQL常用命令
数据库登陆命令: mysql -uroot -p 2.提示输入密码: 3.登陆成功: 4.数据库修改相关命令: 修改数据库的编码格式: 语法格式为:ALTER {DATABASE|SCHEMA} [ ...