Microsoft IIS 5.1 和 IIS 6.0

Microsoft IIS 5.1 和 IIS 6.0
wanghao
wanghao
339
阅读
0
评论
2021年11月10日12:36:34 0 339

Microsoft IIS 5.1 和 IIS 6.0

本章包含有在 Windows XP 和 Windows Server 2003 下的 Internet 信息服务(IIS)5.1 和 IIS 6.0 中安装 PHP 的指南。有关在 Windows Vista,Windows Server 2008,Windows 7 以及 Windows Server 2008 R2 下的 IIS 7.0 以及更高版本中安装 PHP 的指南见 Microsoft IIS 7.0 及更高版本一章。 

配置 IIS 以处理 PHP 请求

根据手工安装步骤的说明下载和安装 PHP。 

Note: 

在使用 IIS 时推荐使用非线程安全的 PHP。可以在 » PHP for Windows:Binaries and Sources Releases 下载。 

按以下示例在 php.ini 文件中配置针对 CGI- 和 FastCGI- 的指令: 

Example #1 php.ini 中的 CGI 和 FastCGI 设定

fastcgi.impersonate = 1

fastcgi.logging = 0

cgi.fix_pathinfo=1

cgi.force_redirect = 0

下载并安装 » FastCGI forIIS。有 32 位和 64 位平台的,根据用户平台选择相应的下载。 

用以下命令配置 FastCGI 扩展处理 PHP 请求。用指向 php-cgi.exe 文件的绝对路径替换其中的 "-path" 的参数。 

Example #2 配置 FastCGI 扩展以处理 PHP 请求

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^

-extension:php -path:"C:\PHP\php-cgi.exe"

此命令将创建对应于 *.php 文件后缀的 IIS 脚本映射,则所有以 *.php 结尾的 URL 都会被 FastCGI 扩展处理。此外还配置了 FastCGI 扩展使用 php-cgi.exe 可执行文件来处理 PHP 请求。 

Note: 

至此所需的安装和配置步骤就完成了。以下剩余的指示是可选项,但是强烈推荐以使得在 IIS 上达到最佳的 PHP 功能和性能。 

角色扮演及文件系统访问

在 IIS 中使用 PHP 建议激活 FastCGI 的角色扮演功能。此功能在 php.ini 中由 fastcgi.impersonate 指令控制。激活角色扮演后,PHP 将以 IIS 所认证的用户帐号身份进行所有的文件系统操作。这将确保即使在(同一个主机)不同的 IIS 网站下使用了同一个 PHP 进程,只要每个网站使用了不同的用户帐号作为 IIS 身份认证,则这些网站的 PHP 脚本将不能访问彼此的文件。 

例如在 IIS 5.1 和 IIS 6.0 中,默认配置下的匿名认证将使用内置的用户帐号 IUSR_<MACHINE_NAME> 作为默认身份。这意味着要使得 IIS 能够运行 PHP 脚本,至少要将这些脚本的读取权限授予 IUSR_<MACHINE_NAME> 帐号。如果 PHP 程序需要对某些文件或文件夹进行写入操作,那 IUSR_<MACHINE_NAME> 帐号也需要有相对应的写入权限。 

要查看哪个用户帐号被用作 IIS 匿名认证的身份,使用以下步骤: 

1.在 Windows 开始菜单中选择“运行...”,输入“inetmgr”并点击“确定”; 

2.在树形视图下展开“网站”节点,右键点击要使用的网站并选择“属性”; 

3.点击“目录安全”面板; 

4.记录下在“认证方式”对话框中的“用户名”字段。 

IIS 5.1 和 IIS 6.0 的匿名认证 

要修改文件及文件夹的权限,使用 Windows 资源管理器或者 icacls 命令行。 

Example #3 配置文件访问权限

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

在 IIS 中把 index.php 设定为默认文档

IIS 的默认文档用于没有指定文件名的 HTTP 请求。对于 PHP 应用来说默认文档通常为 index.php。要将 index.php 添加到 IIS 的默认文档列表中,使用以下步骤: 

1.在 Windows 开始菜单中选择“运行...”,输入“inetmgr”并点击“确定”; 

2.在树形视图下展开“网站”节点,右键点击要使用的网站并选择“属性”; 

3.点击“文档”面板; 

4.点击“添加...”按钮并在“默认内容页面”中输入“index.php”。 

将 index.php 设为 IIS 的默认文档 

FastCGI 和 PHP 回收配置

用以下命令配置 IIS FastCGI 对于 PHP 进程的回收设定。FastCGI 的设置 instanceMaxRequests 控制了单一的 php-cgi.exe 进程处理多少个请求之后会被 IIS 关闭。PHP 环境变量 PHP_FCGI_MAX_REQUESTS 控制了一个 php-cgi.exe 进程处理多少个请求之后会被自我回收。要确保 FastCGI 中 InstanceMaxRequests 的值小于或等于 PHP_FCGI_MAX_REQUESTS 的值。 

Example #4 配置 FastCGI 和 PHP 的回收

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^

-InstanceMaxRequests:10000

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^

-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

FastCGI 超时设定

如果会有一些需时较长的 PHP 脚本运行,则增加超时的设定值。有两个控制超时的指令 activityTimeout 和 requestTimeout。有关这些设定的更多信息参见 » Configuring FastCGI Extension for IIS 6.0。 

Example #5 配置 FastCGI 超时设定

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^

-ActivityTimeout:90

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^

-RequestTimeout:90

改变 php.ini 文件的位置

PHP 在几个位置搜索配置文件 php.ini,可以通过环境变量 PHPRC 来改变 php.ini 的默认位置。要使得 PHP 从用户指定的位置加载配置文件,使用以下命令。指向 php.ini 文件的绝对路径应作为环境变量 PHPRC 的值。 

Example #6 改变 php.ini 文件的位置

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^

-EnvironmentVars:PHPRC:"C:\Some\Directory\"


打赏 点赞(0)
weinxin
投诉&咨询
文章名+链接地址,发送到此微信:tourism52
HTML DOM Meta 对象 菜鸟教程

HTML DOM Meta 对象

HTML DOM Meta 对象 Meta 对象 Meta 对象代表 HTML 的 一个 meta 元素。 meta 元素可提供有关某个 HTML 元素的元信息 (meta-inf...
html,概念,简介 菜鸟教程

HTML 概念简介

HTML (HyperText Markup Language) 不是一门编程语言,而是一种用来告知浏览器如何组织页面的标记语言。它由一系列的元素(elements)组成,这些元素...
赋值,运算符 菜鸟教程

赋值运算符

赋值运算符基本的赋值运算符是“=”。一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。 赋值运算表达式的值也就是所赋的值。也就是说...
RDF,实例,RDF,实例,这是,一个,列表,的,其中, 菜鸟教程

RDF 实例

RDF实例 RDF 实例 这是一个 CD 列表的其中几行: 标题 艺术家 国家 公司 价格 年份 Empire Burlesque Bob Dylan USA Columbia 1...
C函数time和clock的计时区别 菜鸟教程

C函数time和clock的计时区别

time()和clock()是C语言中的两种计时函数,在测量某段程序的运行时间时经常会用到,那么这两种计时有什么区别呢? time函数:time_t time(time_t* ti...
HTML DOM Link 对象 菜鸟教程

HTML DOM Link 对象

HTML DOM Link 对象 Link 对象 Link 对象代表某个 HTML 的 link 元素。link 元素可定义两个链接文档之间的关系。 link 元素被定义于 HTM...
使用,内置,的 ,php 菜鸟教程

使用内置的 PHP

使用内置的 PHP 从 OS X 10.0.0 版本开始,PHP 作为 Mac 机的标准配置被提供。在默认的 web 服务器中启用 PHP,只需将 Apache 配置文件...
SpringMVC,运行,原理,详解,SpringMVC,运行,原理, 菜鸟教程

SpringMVC运行原理详解

SpringMVC运行原理详解 Spring MVC是Spring框架的一部分,主要用于支持WEB应用程序的开发。从MVC组合的三个单词也可以看出,MVC是一种设计模型,它使用控制...

评论列表 共有 0 条评论

暂无评论