当前位置:首页 » 编程语言 » iis6fastcgiphp

iis6fastcgiphp

发布时间: 2022-06-12 09:24:58

① Win2008 IIS7,无缘无故的FastCGI(php-cgi)占用过高如下图,参数调整如下图:

方法/步骤

1、首先安装IIS 7,下载PHP Manager(请网络搜索下载,坑爹的不允许发链接),请根据自己的系统选择32位或者64位下载。安装步骤就不截图了,一路按next就好了。安装完后在IIS管理器里面就能看到PHP Manager了。

2、下载php5.3以上版本。在选择版本时有
3、Thread Safe和Non Thread Safe之分。Non Thread Safe就是非线程安全,Thread Safe 是线程安全。在windows+IIS平台选择Non Thread Safe版本的PHP,并选择V9以上的版本。本文以64位V11 Non Thread Safe 5.5.14版本为例:

4、解压PHP 5.5压缩包到某个文件夹中(本文以D:\PHPweb\PHP),打开IIS管理器,双击“PHP Manager”:

5、点击“Register New PHP Version”,在弹出框里面选择PHP目录下的php-cgi.exe文件,点击确认后就能看到PHP的相关信息:

6、重启IIS,PHP运行环境就配置成功了。出现“FastCGI进程意外退出”如何解决?在DOS下输入命令“D:\PHPweb\PHP\php.exe -v”,根据提示做相应的修改即可。小编在运行命令后提示“缺失msvcp110.dll”,在36X卫士中“人工服务”直接修复了。

② IIS FastCGI php

我原来尝试过,是Windows 2008 Server搭建的。不过性能来说不是很好。只要是5.3之上就可以。但是效果和apache不同。

③ “iis”和“apache”的区别是什么

对于中小企业来说建立自己的网站,对外展示自己的页面是最平常不过的事情了。目前最流行的建立WWW服务工具就要属Apache与IIS了。那么他们之间都有什么区别呢?到底哪个工具才是最适合我们的呢?今天就来讨论下这个问题。

一、免费与收费之争:

虽然很多用户都使用IIS建立网站,他是集成于Windows操作系统中的组件。不过要想合法使用IIS就要购买正版Windows操作系统。

反观Apache,他是完全免费的。不需要支付任何费用就可以免费下载并使用了。

结论——Apache免费,IIS收费,前者占优。

二、稳定性:

接下来要比较的就是稳定性了,WWW服务要随时运转正常,一个网站也需要一天24小时,一周七天为公众开放。所以稳定性是IIS和APACHE比较的重点。

IIS在实际使用中经常出现500错误,而且有的时候还会出现莫名其妙的假死现象。用户需要不定期的重新启动IIS服务才能保证网站的正常。

Apache在配置上比IIS要复杂,不过一经设置完毕就可以长期的工作了。大型网站都使用APACHE作为自己的WWW服务提供工具。APACHE的所有配置都保存在配置文件中,使用时完全按照配置文件中记录的信息执行。一般不会发生莫名其妙的假死情况。

小提示:在windows2003系统下使用IIS比用APACHE性能要好。

结论——APACHE稳定,IIS有时假死,前者占优。

三、扩展性:

扩展性是指WWW服务提供工具是否可以应用于多种场合,多种网络情况,多种操作系统。

IIS只能在微软公司的windows操作系统下使用,离开了windows他将一事无成。无法移植到其他类型的操作系统中。

APACHE是个多面手,他不仅仅应用于windows,对于unix,linux以及freebsd等多种操作系统来说他都可以胜任工作。而且不同操作系统的配置步骤基本类似,可移植性非常高。

结论——IIS只能在windows下运行,apache应用范围广。apache获胜。
四、安全性:

经常看到某某网站被黑客攻击或者某某网站被非法用户上传病毒的消息,对于为其他人提供服务的站点来说,安全性是最重要的。如果一个网站连自身安全都没有保证的话,谁愿意浏览和使用呢。

早期的IIS在安全性方面存在着很大的问题,如果使用默认设置的话黑客可以轻松趁虚而入。不过在IIS6中微软公司对安全方面进行了大幅改进。只要保证操作系统补丁更新及时,就可以将网站安全系数尽可能的提高。特别是IIS6与.net平台相互倚靠,使安全性几乎完美。

APACHE在安全方面一直做的不错,因为很多用户都是在linux下使用apache,所以操作系统的特点使得linux下的apache具有先天的保护伞,安全性自然没得说。

结论——IIS6以前的版本有安全隐患,IIS6和APACHE一样安全可靠。IIS6与APACHE打个平手。

五、开放性:

所谓开放性就是指是否开放了程序的源代码,众所周知IIS是WINDOWS系统的一部分,所以他的源代码是没有开放的。而apache则不同,最早他是为了类unix系统服务的,所以完全对外开放源代码。任何人都可以分析他的代码,发现其中的漏洞,并发布补丁来弥补该漏洞。

正因为APACHE的这种开放性,也使其安全性大大提高。

结论——IIS不开放代码,APACHE开放源代码。后者获得胜利。

六、难易性:

一个工具使用的难易程度直接影响其用户的多少,特别是网页发布工具。毕竟很多公司希望有自己的网站,但又不希望聘请高薪的网络管理员来维护。因此必然找上手相对容易的工具来搭建自己的站点。

IIS开起来比较简单,很容易就可能让IIS工作,对外发布网站。不过管理员很容易出现错误配置和误操作问题。不过总体说来IIS还是非常容易学的,但要学好他恐怕是件非常困难的事。

APACHE的使用比IIS要难,需要有一定计算机及网络基础的人才可以使用。他的配置也不是图形化的,需要我们通过编辑配置文件来实现。但是单从APACHE的设置上讲,只要我们严格按照帮助文件进行参数设置的话还是没有什么难度的。

结论——IIS容易安装但难精通,APACHE安装相对困难,要想精通也不是一件容易的事。IIS略占优势。

七、编程性:

为了让网页更加丰富多采,更加美观,互动性更好,高手为我们开发了多种组件与控件,那么这些控件在IIS或APACHE下是否正常运行呢?

APACHE下的Mod Rewrite功能非常强大,而IIS中的ISAPI的Rewrite需要专门开发,一般初学者是不能够实现的。APACHE可以使用Subversion WebDev以及.htaccess功能,还可以使用ForceType。另外IIS对FastCGI的支持也不是很好,所以一些CGI、PHP程序运行起来速度很慢,远不如apache。

结论——不同的环境下使用不同的组件,因为选择IIS还是APACHE由工作环境所决定,这点两者不分高下。

八、支持语言方面:

由于目前建立网站和论坛的语言多种多样,例如ASP,PHP,JSP等语言。那么IIS和APACHE对他们都支持吗?

IIS对ASP特别是.net运行很稳定,不过对于PHP和JSP就比较麻烦了。PHP需要经过反复配置才能在windows2003上支持。APACHE则能够很好的支持上面提到的几种语言,运行ASP,PHP,JSP都没有任何问题。

结论——APACHE支持语言比较多,IIS支持PHP和JSP时有点麻烦,需要经过一定的配置。APACHE获胜。

九、待遇方面:

提到待遇方面可能很多读者会比较纳闷,怎么IIS和APACHE还存在待遇问题呢?其实我们这里要讨论的是网络管理员的待遇。一个会IIS的网络管理员与一个会APACHE的网络管理员,他们的薪水是不一样的。

APACHE最大的好处就是配置参数多,如果要精通APACHE需要很高的水平。所以同等水平的网络管理员会APACHE的要比会IIS的待遇更好。

结论——钱多是获胜的唯一标准,APACHE占优。

总结:

其实今天我们在这里争论IIS好还是APACHE好是没有很大意义的,本文所进行的比较也只是给那些徘徊在网络管理员路口,不知道学习哪个工具来建立网站的读者一点参考。只有你对IIS和APACHE有了一个大概的了解之后,才能为自己的未来进行规划。

总的来说Apache的优点在于在各种开源的WWW服务提供工具中特性最全,支持最广,相对比较稳定的,而且扩展性丰富。不过正因为要考虑扩展性,性能就肯定不会太高,只能保持一个中等的水平。而IIS6在处理连接及事件性能方面还是很强大的,超过了APACHE。另外安全方面IIS6也有了质的飞跃,弥补了以往IIS漏洞漫天的缺陷。如果你的公司网络环境不负责,没有涉及太多的开发的话建议仍然使用IIS6。当然如果是建立在WWW上的开发和调试还是使用APACHE更加顺手。

④ iis处理程序映射添加php-cgi.exe映射后路径类型一直是未指定,什么原因后面访问一直出现FASTCGI错误

进入控制面板,选择程序和功能,打开或关闭Windows 功能,找到Internet information
services,分别开启FTP服务器、Web管理工具和万维网服务组件,其中万维网服务的子组件也依次开启,”其中最重要的开启应用程序开发功能”,
如下图所示。
安装结束后,重启进行自动功能配置
在浏览器中打开 或者是 ,查看是否能显示IIS8.5的多国语言的欢迎页面:
附加一点,有的人可能出现503,这个简单,我会有一章博客来介绍这个东西
二、下载安装配置PHP环境
小编下载了是VC11 x64 Thread Safe 版本的压缩包(php-5.5.4-Win32-VC11-x64),1、将其解压到d:\php目录下(其他盘符也可以)。
选择左侧的服务和应用程序,进入Internet信息服务(IIS)管理器

3、选择IIS功能下的”处理程序映射”双击进入,然后最右边选择”添加模块映射”
在请求路径输入”*.php”,模块选择FastCgiMole模式,可执行文件时,文件格式可以选择exe程序和选择路径:d:\php\php-
cgi.exe,名称比如php,最后确定添加模块映射。
然后手动给网站添加默认文档:default.php和index.php两个文档。
继续对于php程序包进行下面的配置:进入d:\php目录,重命名文件php.ini-development改名为php.ini。
用记事本打开编辑php.ini文件,使用快捷键ctrl+F快速搜索定位,相关的date.timezone修改为date.timezone=”Asia/Shanghai”即修改当前的系统时区, 同时将前面的分号”;”删除生效。
下来修改这些地方
;extension=php_gd2.dll 改为extension=php_gd2.dll
;extension=php_mbstring.dll 改为extension=php_mbstring.dll
;extension=php_mysql.dll 改为extension=php_mysql.dll
;extension=php_mysqli.dll 改为extension=php_mysqli.dll
;extension=php_pdo_mysql.dll改为extension=php_pdo_mysql.dll
然后搜索extension_dir,修改路径为extension_dir = “d:\php\ext\” ,同时将前面的分号”;”删除生效。,修改后保存,然后复制这个php.ini文件到C:\Windows根目录下即可。
; The directory under which PHP opens the script using /~username used only
; if nonempty.
;
user_dir =
; Directory in which the loadable extensions (moles) reside.
;
extension_dir = "D:\php\ext"
; On windows:
extension_dir = "D:\php\ext"
php环境配置好了,现在就需要测试一下了,在建立的网站目录wwwroot文件夹下”C:\inetpub\wwwroot”新建一个phpinfo.php网页文件。
内容为:
<?php
phpinfo();
?>
然后再在IE浏览器中打开/phpinfo.php ,即可出现类似如下界面,即成功生效。

⑤ 用windows2003+iis+php+mysql+fastcgi搭建的php环境,访问网站的时候出现

很明显mysql数据库中user表没有给你的账户权限,你最好新建一个mysql账户赋予权限,不要用root权限账号跑mysql!
mysql新建账号 赋权限例子:
1、以管理员身份登录MySQL

mysql -u root -p

2、选择mysql数据库

use mysql

3、创建用户并设定密码

create user ‘testuser’@’localhost’ identified by ‘testpassword’

4、使操作生效

flush privileges

5、为用户创建数据库

create database testdb

6、为用户赋予操作数据库testdb的所有权限

grant all privileges on testdb.* to test@localhost identified by ‘1234’

7、使操作生效

flush privileges

8、用新用户登录

mysql -u test -p

⑥ IIS6配置PHP运行环境错误Error Number: 5 (0x80070005). FastCGI Error 拒绝访问

FastCGI 应该是PHP5.3 以上的吧

⑦ iis6中如何减少php-cgi.exe进程数量and FastCGI+PHP5.3.3的配置方法

php-cgi.exe进程数量没有太好的优化方法,FastCGI+PHP5.3的配置方法网上有很多教程可以搜索看看,不难学。

⑧ 怎样在windowsiis6同时安装php5.2和php5.3

安装配置windows2003+IIS6+PHP5.3.8 新版本的PHP5.3通过以往老方法已经不能在IIS上安装了(因为现在php 5.3已经不支持ISAPI了,而是用FastCGI了),现在给出在IIS上安装PHP5.3以后版本的教程。 首先肯定是安装IIS了,这个应该不要教吧

⑨ 最高哪个php版本支持iis6

PHP5.3x+IIS6完全配置方法,PHP5.3以上版本全新配置IIS方法 FastCGI方式(一...
在IIS6.0下安装Fastcgi+PHP来运行PHP程序(未装alpha),终于实现手工配置 IIS 6 下以 FastCGI 跑 PHP
PS:微软提升PHP在IIS下的性能 FastCGI Extension for IIS6.0% ~& d# L0 v& T1 o& D( U; ^; j
微软已经和PHP社区共同努力了一年之久,他们终于研发出 能让IIS更快地解析PHP的方法,用户们甚至不需要做基准测试就可以明显感觉到PHP解析速度加快.早在2006年,微软就和Zend等厂商一起研发 Windows Server下的优化工作,IIS产品组已经公布了IIS6和7的FastCGI扩展,它能让PHP执行效率更高. PHP一直以来是IIS的尴尬,用PHP扩展的速度跟不上其它服务端(甚至还有一些致命问题例如在某内存地址报错),而PHP又比ASP.net普及得 多,因此微软需要在IIS+PHP上突破市场. 微软去年底发布了ii6的fastcgi模块,可以免费下载,使用IIS6的您不妨在您的测试环境上试一下,没准会有惊喜哦! 今天将服务器上的php支持改成了fastcgi,目前运行稳定.fastcgi的iis模块可以让流行的应用框架在iis上支持fastcgi协议以提 供高性能和可用性的访问服务,fastcgi面向现有的网络服务器提供高性能的cgi替代标准。具体php安装方法我记录下来,其中包括出现的错误.
1.下载 FastCGI For IIS6 5 A( c* Z' E" t1 {. t, X
fcgisetup32.msi(FastCGI Extension for IIS 6.0 x86)- B: u, q, t' H" K: S4 t# J
下载:http//www.iis.net/extensions/FastCGI,选择: x86. ?8 ~& A7 t7 i
# ? i2 s' U& f% K
或者直接下载:http//go.microsoft.com/?linkid=96556962 v$ { j7 X8 O& ~
下载之后,双击运行进行安装。
(FakeCGI调试工具(备用):下载fake.zip http//blogs.iis.net/rickjames/attachment/1563148.ashx )
' @" ^! W# d' F. @# c5 [
安装后在 C:WINDOWSsystem32inetsrv 目录下产生了五个文件。如下图: B; a5 ]* v8 i% Z% b8 j2 q
同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler。2 p3 o- h+ q, M/ d7 q
9 A- R; U( Q5 j8 `% W0 K* x- J. {
下载安装VC9运行库 即VISUAL C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:
点击这里下载
2.下载 PHP5.3.0 Windows 版
由于PHP5.3的全新特效及改进,原有的isapi方式解析PHP脚本已经不被支持,PHP从5.3.0以后的版本开始使用微软的fastcgi模式,这是一个更先进的方式,运行速度更快,更稳定!
新版本的PHP5.3通过以往老方法已经不能在IIS上安装了,下载IIS下的PHP,下载地址http//windows.php.net/download/,(注意IIS下要选择VC9的版本)解压到所需目录,该目录需要给予
一、如何选择PHP5.3的VC9版本和VC6版本
VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。
VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择VC9版本。
二、如何选择PHP5.3的Thread Safe和Non Thread Safe版本
先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
再来看PHP的两种执行方式:ISAPI和FastCGI。
ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;
而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。
user读取运行权限,
选择:PHP 5.3 (5.3.0)' Z* Z0 r% I) ~! F* r4 f+ V. R' b
VC9 x86 Thread Safe (2009-Jun-30 08:52:56) Zip [13.54MB]
sha1:
下载 .zip 格式的版本,解压缩下载的 php-5.3.0-Win32-VC9-x86.zip 文件,并将其复制到:X:Server_Corephp目录(你可以根据自己的意愿解压到别的目录。),并给 IIS 启动帐户组或用户赋予读取和运行权限。如下图:
+ A( b2 ^' Y6 K7 N9 ^8 _
: I" N9 {8 q: R* E' h9 j2 D
3. 注册 PHP 到 FastCGI % U3 L0 {. m1 @+ @# [
打开 C:WINDOWSsystem32inetsrvfcgiext.ini 文件。
; This is the configuration file for the FastCGI handler for IIS 6.0.: O: q. R4 u+ n9 f
; The FastCGI handler will look for this file in the same directory as
; fcgiext.dll. By default, the FastCGI installer will place this file into
; the %windir%system32inetsrv directory.
- E( a5 J3 l' R% H8 n
我个人的理解是,只要“Web 服务扩展”里的 FastCGI Handler 为允许时,在加载 fcgiext.dll 时,会读取 fcgiext.ini 配置文件的内容,根据里面的配置为每个网站提供映射。
在 [Types] 下添加以下配置: ; `9 c; v2 t9 b6 W- `; y' r9 H6 H7 S
[Types]/ K. X# n9 p4 I9 e
8 b, @+ K$ f6 }; c4 w
php=PHP
[PHP]
ExePath=X:Server_CorePHPphp-cgi.exe
这里要用:“”不能用“/”,“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。 (选你自己的安装的目录,下同。)
) U. P; P N: w0 |7 D' u" f& h- e( c8 R
4. 配置 php.ini
将 X:Server_CorePHPphp.ini-proction 复制一个,然后重命名为X:Server_CorePHPphp.ini ! q4 H: N9 X) K. X9 e }( S
找到PHP安装目录下的php.ini-proction并改名为php.ini文件,找到下面% n4 k. G8 ?4 N# K! P. B
[Date]7 R _* z$ ?% u' ?& t' v
; Defines the default timezone used by the date functions
; http//php.net/date.timezone
; date.timezone =, E+ d8 |! L0 J; N
更改为并去除前面的“;”:
[Date]( c% H4 u" v2 ~4 h( R4 @4 K
; Defines the default timezone used by the date functions
; http//php.net/date.timezone
date.timezone = Asia/Shanghai Q, @2 J ^9 t s) Q0 J
如果不改以上的date.timezone可能打开网页会提示500错误
找到6 s- j% ?# x$ F, h
; On windows:
; extension_dir = "ext"
改为. R- g. Z+ ~8 " D: O9 g
; On windows:
extension_dir = "X:Server_CorePHPext"
9 V2 g8 k' a- V9 " T" u/ z
找到:fastcgi.impersonate = 1;这句,把前面的;去掉, fastcgi.impersonate = 1
如下图:
5 P5 K9 c- [ n0 J( D( n
找到:short_open_tag= Off;改为
short_open_tag= On3 n2 X2 Y3 c( v) a# y6 X0 g+ {# ]
8 F0 L5 ]7 h8 w6 z. w
至于php.ini里面的extension开启方式,根据自己所需,找到:Windows Extensions 在 Windows Extensions 下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的;号即可)比如我的是: 7 v; k* P1 c
;extension=php_bz2.dll: n+ O" R$ Z) _7 [* B( c( D. K
;extension=php_curl.dll
;extension=php_dba.dll' f6 Y* p3 T4 R% q- c4 ]& Z7 G
extension=php_mbstring.dll" C* _: V3 z- F% m
extension=php_exif.dll7 l4 N2 N" e& {
;extension=php_fileinfo.dll7 E( X0 ~7 r; C* F9 j
extension=php_gd2.dll5 x9 ^1 g8 Q5 S" B& F
;extension=php_gettext.dll$ O' S. v1 i2 O$ q. H: O; G
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll. a! M+ _) z: _ P* @
extension=php_ldap.dll
;extension=php_ming.dll
;extension=php_mssql.dll3 g0 O) n8 c6 }9 M9 T7 X
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll. K0 q3 p6 t, ^# K) i* K
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll. {& w3 O# E$ , U7 j% y$ r1 I
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll$ T- g9 D& 7 D3 Z+ n# S% U& M
;extension=php_phar.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll. K9 m+ o) O9 @7 W @0 N
;extension=php_soap.dll p& S8 Q' s+ I, F0 L5 a1 v
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sqlite3.dll0 H5 ^$ l0 V7 g, M
;extension=php_sybase_ct.dll
;extension=php_tidy.dll2 m' J5 Q; A- T9 n
;extension=php_xmlrpc.dll
;extension=php_xsl.dll% h* t/ J" J) a8 t7 Q( I' n5 R9 F$ q
;extension=php_zip.dll
注意最后一个php_zip.dll这个在我下载下来的php5.3.0的ext内是不存在的,所以如果开启会报错误,如果实在需要这个DLL,可以从PHP5.2中拷贝过去(我的不行)
保存 php.ini 文件,并将其复制到 C:Windows ,并删除 X:Server_CorePHPphp.ini,不删除有时IIS报500错!
4 B0 M. ]9 U E3 d1 V
5. 配置网站 q% W* / n) c' `- Y
; t4 X! x( V, T! [) [2 |4 [
打开IIS管理器,网站上点右键-属性-主目录-配置-添加,配置如下图" j9 W, {" c4 S% @2 I1 x
& Q6 _: a8 g, m q/ R, R
# ^% v* ?# G6 |
可执行文件路径:C:WINDOWSsystem32inetsrvfcgiext.dll
6.相关权限配置
C:WINDOWSsystem32inetsrvfcgiext.dll 的权限,NETWORK_SERVICE和IUSR_***(Internet来宾账户)的可读和运行权限。
PHP安装目录的权限,NETWORK_SERVICE的读和运行权限
网站所在目录的权限,IUSR_***(Internet来宾账户)的读取和运行权,需要写入的目录单独再给写入权
7. 写个 php 测试下吧
" m: |: h# L' b% y; }
修改完在IIS上或者命令提示符运行iisreset命令重启IIS服务,这步很重要!
( M6 w6 {! R& y ~4 F
测试是否安装成功!
建立一个网站,phpinfo.php文件内容为:/ o+ p' n$ t8 T+ O( b2 s P. P
文件:phpinfo.php
<?php
phpinfo();
?>
6 j- O: M6 | [, p/ p t
看到类似以下效果说明你的服务器可以跑 php 了。

⑩ IIS下PHP的三种配置在区别和性能上的差异比较

在Windows IIS 6.0下配置PHP,通常有CGI、ISAPI和FastCGI三种配置方式,这三种模式都可以在IIS 6.0下成功运行,下面我就讲一下这三种方式配置的区别和性能上的差异。
1、CGI(通用网关接口/Common Gateway Interface)一般是可执行程序,例如EXE文件,和WEB服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求。这样,当用户请求数量非常多时,会大量占用系统的资源,如内存、CPU时间等,造成效能低下。
2、ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显着高于CGI。
在Windows Server 2003的IIS6下配置ISAPI方式的PHP,配置方法是,在IIS的“WEB服务扩展”中,添加一个新的WEB服务扩展,程序后缀为PHP,ISAPI程序为php5isapi.dll,然后再“环境变量”-“系统变量”中增加变量名PHPRC,数值为php.ini的路径,在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择“属性”),再选择“主目录”。点击“配置”按钮,选择“映射”Tab页。点击“添加...”,在“可执行文件”设为: c:\php\php5isapi.dll,扩展名设为.php,选择“确认文件是否存在”,然后“确定”保存设置。重启服务器即可完成PHP的配置。
3、FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。
FastCGI已经集成于IIS7,也支持IIS6,在IIS6中的安装方法可参见微软的官方文档,我这里简单翻译一下。
先点这里下载一个32位的FastCGI extension for IIS,然后将其安装,安装后的文件应该放到system32\inetsrv目录下。
之后打开system32\inetsrv目录,执行下面的语句,其中c:\php为你的PHP目录,可以修改为其他数值。
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"c:\php\php-cgi.exe"
在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择“属性”),再选择“主目录”。点击“配置”按钮,选择“映射”Tab页。点击“添加...”,在“可执行文件”设为: c:\windows\system32\inetsrv\fcgiext.dll,扩展名设为.php,选择“确认文件是否存在”,然后“确定”保存设置。
修改php.ini文件,增加如下语句:
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
之后打开system32\inetsrv目录,执行以下语句:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
最后,配置c:\php目录的安全性,使得IIS_WPG组对于这个目录有读取和执行的权限。

热点内容
bin存储 发布:2025-02-07 20:00:50 浏览:202
android加载界面 发布:2025-02-07 19:55:28 浏览:870
好矿云服务器 发布:2025-02-07 19:54:31 浏览:948
java电话簿 发布:2025-02-07 19:49:26 浏览:796
超级脚本制作 发布:2025-02-07 19:31:30 浏览:486
怎么查看支付宝的账号密码 发布:2025-02-07 19:26:48 浏览:16
惠普服务器查看ip指令 发布:2025-02-07 19:26:47 浏览:434
算法设计模式 发布:2025-02-07 19:15:52 浏览:746
服务器1u能连接几台电脑 发布:2025-02-07 18:50:02 浏览:154
立人编译 发布:2025-02-07 18:48:32 浏览:766