最高哪个php版本支持iis6

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最高哪个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: 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 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-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 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 了。
参考技术A   PHP5.2.9 是最后一个支持iis6的版本,5.30就没有php5isapi.dll文件了,所以win2003的服务器就要悲催了,就只能装这个了,其他的不行,也装不了wordpress最新版,有了这个版本,就可以解决问题了!

IIS7(Windows7)下最简单最强安装多版本PHP支持环境

IIS7(Windows7)下最简单最强安装多版本PHP支持环境

来源自:http://www.myhack58.com/Article/sort099/sort0100/2012/35593.htm 
最近调试程序,要在PHP5.2和5.3之间换来换去,而习惯了windows下的开发,就琢磨怎么在iis下安装多版本支持,赫然发现其实微软都为我们准备了好工具。 
微软对PHP的支持越来越强,这点在IIS7中体现明显,不但有FastCgi的大力支持,还为PHP的管理专门增加了个PHP Manager。有了这个东东,在windows环境下基于iis7安装PHP简直是易如反掌。 
虽然现在PHP5.3已经出来很久,但许多开源的PHP程序都不是很好支持它,还是PHP5.2为主流。有了PHP Manager这个好东西,在iis下安装多个版本的PHP也变得非常容易。 
具体步骤如下: 
1. 在微软的网站上下载PHP Managerhttp://phpmanager.codeplex.com/releases/view/69115双击安装。这时在iis管理界面中就会多一个PHP Manager管理选项。 
技术分享 
技术分享 
2. 从PHP官网上下载windows版本的PHP程序。因为采用FastCgi模式运行,所以最新的5.2.17和5.3.8都选择下载nts(非线程安全)的zip版本。下载下来后,找个地方分别解压缩,例如分别放在C:\PHP下的5.2和5.3目录下。 
3. 进入IIS管理界面,双击PHP Manager,选择Register New PHP Version,这是弹出一个选择框,选择5.2版本目录下的php-cgi.exe文件,确认。再此点击Register New PHP Version,选择5.3版本目录下的php-cgi.exe文件,确认后,多版本的环境就搭建好了。简单吧。 
技术分享 
需要用到那个PHP版本,就点击change PHP version选择需要的版本即可。要检验是否设置好,还可以点旁边的check phpinfo()来查看相应PHP设置信息。 
技术分享 
4. 在PHP Manager中对PHP的设置也简化了很多,可以在PHP Setting和PHP Extension里面直接可视化的管理php.ini,而查看相应的iis配置,会发现php manager已经为我们生成好了相应的映射,真是方便到家了。 
技术分享 
技术分享
















以上是关于最高哪个php版本支持iis6的主要内容,如果未能解决你的问题,请参考以下文章

iis6.0 怎么配置php.ini

window 2003 iis 6 怎么安装php7.0正式版

哪个 TYPO3 版本支持啥 PHP 版本?

windows 2003 IIS6.0 怎么搭建PHP环境

在centos6.5上升级php-libxml版本到2.9.0

windows服务器里可以安装多版本php吗