最高哪个php版本支持iis6

最高哪个php版本支持iis6,第1张

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 目录下产生了五个文件。如下图: Ba5 ]* v8 i% Z% b8 j2 q

同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler。2 p3 o- h+ q, M/ d7 q

9 A- RU( 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: f049c806744855e4420844d47e051949fcf06661

下载 .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 cv2 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. PP N: w0 |7 D' u" f&h- e( c8 R

4. 配置 php.ini

将 X:Server_CorePHPphp.ini-production 复制一个,然后重命名为 X:Server_CorePHPphp.ini ! q4 H: N9 X) K. X9 e }( S

找到PHP安装目录下的php.ini-production并改名为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 JN

更改为并去除前面的“;”:

[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 vk* 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 rC* F9 j

extension=php_gd2.dll5 x9 ^1 g8 Q5 S" B&F

extension=php_gettext.dll$ O' S. v1 i2 O$ q. H: OG

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.dllUse 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 QA- 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 了。

使用FastCgi在IIS6来配置PHP 5.3运行环境。

1、下载PHP 5.3.X

官方下载地址:http://windows.php.net/download/

注意,一定要下载VC9 x86 Thread Safe的,文件名形式如:php-5.3.13-Win32-VC9-x86.zip

2、下载FastCGI

官方下载地址:http://www.iis.net/extensions/fastcgi

有支持IIS6和IIS5.1的32位版本和64位版本,还有支持IIS7的,因为IIS7与IIS6差别比较大,所以对于IIS7以后再介绍吧。

3、安装FastCgi

安装FastCgi没什么可介绍的,但是有一点要注意,就是系统要先安装VC9运行库才能正常运行,否则会报“FastCGI Error 14001 (0x800736b1)”之类的错误。

所以要先安装VC9运行库(即VISUAL C++ 2008)

Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:

http://download.microsoft.com/download/5/9/e/59e74271-2b59-49a1-b955-96b69cc34f38/vcredist_x86.exe

配置FastCGI

打开FASTCGI配置文件C:\WINDOWS\system32\inetsrv\fcgiext.ini,在最后[Types]修改为这样的样式

[Types]

php=PHP

[PHP]

ExePath=D:\php\php-cgi.exe

4、开始安装PHP环境

解压php-5.3.13-Win32-VC9-x86.zip压缩包到 d:\php

找到PHP安装目录下的php.ini-production并改名为php.ini文件,也有人使用php.ini-development。

修改PHP.ini文件

找到

[Date]

Defines the default timezone used by the date functions

http://php.net/date.timezone

https://www.5wx.org

date.timezone =

更改为

[Date]

Defines the default timezone used by the date functions

http://php.net/date.timezone

date.timezone = Asia/Shanghai

找到

On windows:

extension_dir = "ext"

改为

On windows:

extension_dir = "D:\php\ext"

查找extension=php_,去掉以下几个扩展前面的分号(基本的几项)。

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_mysqli.dll

extension=php_pdo_mysql.dll

extension=php_xmlrpc.dll

查找short_open_tag = Off,改成On,让其支持短标签。

增加一行(非常重要)

fastcgi.impersonate = 1

开启下面两项

cgi.fix_pathinfo=1

cgi.force_redirect = 0

5、配置IIS

然后打开IIS管理器,网站上点击右键 ->属性 ->主目录 ->配置 ->添加

扩展名:.php

可执行文件:C:\WINDOWS\system32\inetsrv\fcgiext.dll (根据自己的安装路径)

动作限制为:GET,HEAD,POST,TRACE

6、测试PHP运行

写个php测试文件

<? phpinfo()?>

能看到运行界面说明就成功了!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/80153.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-04
下一篇2023-03-04

发表评论

登录后才能评论

评论列表(0条)

    保存