win7 IIS 7.5 安装配置

0×01.安装
其它的不多说了,注意勾选上“应用程序开发功能”,看图:

0×02.配置
从开始菜单打开“Internet 信息服务(IIS)管理器”(%windir%\system32\inetsrv\InetMgr.exe ),“管理区域”(Management Area),双击“功能委派”(Feature Delegation):

然后选择错误页(Error Pages)并单击只读(Read Only),如下图

然后编辑站点目录下的web.config
删除httpErrors 节点,如果此配置文件没有其它特别的配置的话,可以直接删除由IIS为delegation Read/Write生成的web.config文件。
如不进行此设置,遇到错误时全部会提示 500.19 错误。(此解决方法来自:IIS7中的自定义 404页面错误- 500.19

PS:
经测试,添加allowAbsolutePathsWhenDelegated=”true” 属性的方法不可行。

其它的配置不多说了,说下怎么添加PHP映射和添加绑定

a.配置 IIS 处理 PHP 请求
FastCGI 正是从 IIS 7.0 开始成为内置组件的,推荐以FastCgi的方式运行PHP。

如果是 IIS7.0,微软已经发布了一系列升级补丁来修正其中内置的 FastCGI 模块已知的部分问题,你可以根据自己的系统下载对应的补丁进行升级:

  • Update for Windows Server 2008
  • Update for Windows Server 2008 x64 Edition
  • Update for Windows Server 2008 for Itanium-based Systems
  • Update for Windows Vista SP1
  • Update for Windows Vista SP1 for x64 based Systems

    关于PHP版本选择:
    PHP 5.3 For Windows有4个版本:
    •VC9 x86 Non Thread Safe
    •VC9 x86 Thread Safe
    •VC6 x86 Non Thread Safe
    •VC6 x86 Thread Safe

    到底要选择哪个版本,官网给出了答案:

    Which version do I choose?
    If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP
    If you are using PHP with IIS you should use the VC9 versions of PHP
    VC6 Versions are compiled with the legacy Visual Studio 6 compiler
    VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed
    Do NOT use VC9 version with apache.org binaries.
    VC9 versions of Apache can be fetched at Apache Lounge. We use their binaries to build the Apache SAPIs.

    VC9的版本是给IIS用的,VC6的版本是给Apache用的。还提示说,不要将VC9的版本的PHP用于apache.org的二进制版本httpd,如果要VC9版本的httpd的话,可以到Apache Lounge下载。
    VC9版本是用Visual Studio 2008编译的,编译器对程序进行了更多的优化,因而性能较好。FastCGI单线程执行的,因而不需要线程安全版本,去掉线程安全的防护后可以提高执行效率;而ISAPI方式则是多线程模式,所以需要采用线程安全版本。
    php.ini文件中确认以下设置:

    1
    2
    3
    fastcgi.impersonate = 1
    cgi.fix_pathinfo=1
    cgi.force_redirect = 0

    首先点击“FastCGI 设置”,添加PHP为FastCGI应用程序,在新建对话框的路径文本框中选择PHP目录下的“php_cgi.exe”,其他设置按默认的就行,如我这里是:D:\software\PHP\php-cgi.exe

    接着回到上级视图,打开“处理映射程序”,添加PHP的映射,配置如下图所示:

    单击“添加模块映射”,
    请求路径那里填写: *.php
    模块选择:FastCgiModule
    可执行文件那里填写php-cgi.exe的绝对路径,如: D:\software\PHP\php-cgi.exe

    接下来可以调整一下默认文档,也很简单,直接上图了:

    另外,如果要方便开发的话,可以打开“目录浏览”功能(此功能默认是禁用的)。

    b.网站绑定
    这里的绑定可以绑定IP或者绑定主机名。这里说下绑定主机名,这个也简单,直接上图吧:

    主要是“主机名”、“端口” 、“IP”,这里 * 表示主机任意可用IP。如上配置,则通过访问:

    http://huangye-pc:8088/

    http://t.com:8088/

    http://localhost:8088/

    http://127.0.0.1:8088/

    都能访问此站点(前提是这些主机名与IP的映射在hosts文件中要存在)。

    c.测试
    asp测试:
    test.asp

    1
    2
    3
    4
    5
    6
    7
    <html>
    <body>
    <%
    response.write("Hello World!")
    %>
    </body>
    </html>

    访问此文件,正常情况下应该输出 Hello World!
    asp.net 测试
    test.aspx

    1
    2
    <%@ Page Language="C#"%>
    <% Response.Write("hello world!"); %>

    php测试:
    phpinfo.php

    1
    2
    <?php
    phpinfo();

    参考:
    http://www.iis.net/ConfigReference/system.webServer/httpErrors
    IIS 7.5 下PHP(FastCGI模式)配置手记

    更多
  • 3 Responses Post a comment
    1. 荒野无灯

      什么All-in-One,然后还要安装的,我一般不用,如果是绿色的还是可以考虑的。

    2. phoetry

      之前试用微软那个matxxx了什么的, 集成了iis,sql,asp,php一堆东西,
      结果在我win7机子上这货呈现不了aero特效, 不知何故, 赶紧卸载

    Leave a Reply

    Note: You may use basic HTML in your comments. Your email address will not be published.

    Subscribe to this comment feed via RSS