平时帮朋友们配置过一些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平台
  2. 选择下载PHP环境
  3. 配置PHP环境
  4. 启用IIS的PHP支持
  5. 测试PHP环境

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)”,也是我的演示环境。

  但是官网下面有四个选项:

    1. VC11 x86 Non Thread Safe (2014-Dec-18 00:06:50)
    2. VC11 x86 Thread Safe (2014-Dec-18 00:01:59)
    3. VC11 x64 Non Thread Safe (2014-Dec-18 00:02:02)
    4. 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环境支持 过程详解的更多相关文章

  1. fabric网络环境启动过程详解

    这篇文章对fabric的网络环境启动过程进行讲解,也就是我们上节讲到的启动测试fabric网络环境时运行network_setup.sh这个文件的执行流程 fabric网络环境启动过程详解 上一节我们 ...

  2. 【必知必会】手把手教你配置MySQL环境变量——图文详解

    一.先决条件 假设我们已经成功安装MySQL数据库.如果还有小伙伴不知道如何安装MySQL数据库,可以在本文下留言,留言数超20,则出一期"手把手教你安装MySQL数据库--图文详解&quo ...

  3. pycharm+PyQt5+python最新开发环境配置,踩坑过程详解

    安装工具:Pycharm 专业版2017.3PyQT5python3 pyqt5-tools 设置扩展工具的参数找到setting->tools->external tools,点击加号新 ...

  4. win10下vs2015配置Opencv3.1.0过程详解

    下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载.  点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...

  5. win10下vs2015配置Opencv3.1.0过程详解(转)

    下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载.  点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...

  6. Linux系统下配置squid代理服务器的过程详解

    简单记录一下Squid透明代理服务器的配置 环境:VirtualBox + CentOS 6.0 + squid-3.1.4-1.el6.i686 0.检查squid是否默认安装,没有安装的先安装 [ ...

  7. nginx上用fastcgi配置python环境

    费了2天的功夫,翻阅了无数的中文.英文资料,终于搞定.写下此文留待以后翻阅用      本文环境,centOS 5.4 ,Nignx-0.8.49, Python 2.6.5   ========== ...

  8. uboot主Makefile分析(t配置和编译过程详解)

    1.编译uboot前需要三次make make distcleanmake x210_sd_configmake -j4 make distclean为清楚dist文件. make x210_sd_c ...

  9. uboot配置和编译过程详解【转】

    本文转载自:http://blog.csdn.net/czg13548930186/article/details/53434566 uboot主Makefile分析1 1.uboot version ...

随机推荐

  1. .NET 提升教育 第一期:VIP 付费课程培训通知!

    为响应 @当年在远方 同学的建议,在年前尝试进行一次付费的VIP培训. 培训的课件:点击下载培训周期:10个课程左右,每晚1个半小时培训价格:1000元/人.报名方式:有意向的请加QQ群:路过秋天.N ...

  2. MVVM设计模式和WPF中的实现(四)事件绑定

    MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  3. JavaScript动画-碰撞检测

    ▓▓▓▓▓▓ 大致介绍 碰撞检测是指在页面中有多个元素时,拖拽一个元素会出现碰撞问题,碰撞检测是以模拟拖拽和磁性吸附中的范围限定为基础的 效果:碰撞检测 ▓▓▓▓▓▓ 碰撞检测 先来看看碰撞检测的原理 ...

  4. Node.js:Buffer浅谈

    Javascript在客户端对于unicode编码的数据操作支持非常友好,但是对二进制数据的处理就不尽人意.Node.js为了能够处理二进制数据或非unicode编码的数据,便设计了Buffer类,该 ...

  5. nodejs项目mysql使用sequelize支持存储emoji

    nodejs项目mysql使用sequelize支持存储emoji 本篇主要记录nodejs项目阿里云mysql如何支持存储emoji表情. 因由 最近项目遇到用户在文本输入emoji进行存储的时候导 ...

  6. spring源码分析之context

    重点类: 1.ApplicationContext是核心接口,它为一个应用提供了环境配置.当应用在运行时ApplicationContext是只读的,但你可以在该接口的实现中来支持reload功能. ...

  7. DBobjectsCompareScript(数据库对象比较).sql

    use master goIF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[func_CompareDBobjectsReColu ...

  8. 【swift】BlockOperation和GCD实用代码块

    //BlockOperation // // ViewController.swift import UIKit class ViewController: UIViewController { @I ...

  9. SpringMVC初始化参数绑定--日期格式

    一.初始化参数绑定[一种日期格式] 配置步骤: ①:在applicationcontext.xml中只需要配置一个包扫描器即可 <!-- 包扫描器 --> <context:comp ...

  10. AngularJs2与AMD加载器(dojo requirejs)集成

    现在是西太平洋时间凌晨,这个问题我鼓捣了一天,都没时间学英语了,英语太差,相信第二天我也看不懂了,直接看结果就行. 核心原理就是require在AngularJs2编译过程中是关键字,而在浏览器里面运 ...