它山之石可以攻玉

键盘上的生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

PHP5.3.6的IIS配置

Posted on 2011-11-17 16:06  陈达辉  阅读(4159)  评论(0编辑  收藏  举报

居然phpcms只支持php5.2.x了 以前配置的php5.1.x要更新了 NND
最新版是5.3.x的Windows版已经不支持ISAPI模式了

 

我们知道php配置有几种:

1、CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少。 
特点是:稳定,但效率太低。 人人

2、ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广。 
特点是:多线程,效率较高,但不够稳定。

3、FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了。 
特点是: 高效率,高稳定性,属于将来发展趋势。

我试过其他的特别麻烦,PHP 5.3发布的Windows版已经不支持ISAPI模式了,所以我打算按微软推荐的FastCGI方式运行PHP。 女装品牌排行榜

我用的就第三种,也是最好最快的,因为 FastCGI大大加强了IIS处理PHP的能力,能迅速提高PHP站点的反应速度和生产力,

并具有更高的稳定性和安全性.

     下载地址:http://windows.php.net/download/里面有好多种,要那种呢?

PHP现在推出5.3.2版本了,不过下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。 
首先我来解答:今年阳明海运运费还会涨 
VC6是什么? 
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。 
VC9是什么? 
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。

那我们如何选择下载哪个版本的PHP呢? 
如果你是在windows下使用Apache+PHP的,请选择VC6版本; 
如果你是在 windows下使用IIS+PHP的,请选择VC9版本;

那Non Thread Safe是什么? 
Non Thread Safe就是非线程安全; 
Thread Safe 是什么? 
Non Thread Safe 是线程安全; 
FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 msi套件)所以我们 选择NO-Thread Safe 版本的PHP来使用 。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。

下载安装,我安装默认路径了:

 

记得选中第三项: IIS FASTCGI

 

如果没有安装IIS FASTCGI的 下一步会提示没有安装的,下载安装就行了

FastCGI  for IIS 6  7   http://www.iis.net/expand/fastcgi

 

 

安装好后,继续下一步,我按照默认了:

 

安装完毕后,就是配置了。

这种配置有两种方法,我用cmd配置,一条命令就行了。

转到刚才安装CGI的目录下: 

>cd C:\WINDOWS\system32\inetsrv

>cscript fcgiconfig.js -add -section:”PHP” -extension:php -path:”C:\Program Files\PHP\php-cgi.exe”

注意:path:”xxxx\php-cgi.exe” 是你安装php的目录

> cscript fcgiconfig.js -set -section:”PHP” -InstanceMaxRequests:10000 
> cscript fcgiconfig.js -set -section:”PHP” -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

 

ok!完毕!

测试下:

新建一个.php文件,里面

<?php

phpinfo();

?>

保存!

运行,出现下面页面,说明配置成功了!

 

这样的方法 IIS就不用怎么配置,他都会自动配置好了!微软提供的配置更加详细 !

如果按上面的教程配置好后,运行php测试页面,出现了500错误。

那就设置php.ini中的date.timezone项。

我这里设置成上海时区:date.timezone = Asia/beijing

设置完后就一切正常了!

==============================================================================

如何安装php5.3.6:

1.首先必须明白PHP的两种执行方式:ISAPI和FastCGI。

(1)ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。

(2)FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。

FastCGI已经集成于IIS7也支持IIS6,在IIS6中的安装方法以下详述。

2.PHP5.3.6文件里面没有php5isapi.dll取而代之的是php5nsapi.dll原因:

PHP5.3 是不能在IIS6上面通过ISAPI扩展运行的,而且在PHP5.3 文件里面也没有php5isapi.dll,取而代之的是php5nsapi.dll,换句话说PHP5.3以后的版本就不再用ISAPI进行扩展在IIS里运行了,只能通过FastCGI的方式执行。据说它的效率很高的哟。(一直郁闷为什么我下载的php没有php5isa.dll,没想到PHP5.3不支持ISAPI了,晕哦)

FASTCGI http://www.iis.net/expand/FastCGI 下载X86版本)

PHP http://www.php.net/downloads.php

注意:下载php时请选择VC9版本下载(适用IIS+PHP)

安装FASTCGI时,需要.net2.0以上、windows 2003 sp2 或以上

.net3.5下载:http://www.crsky.com/soft/21819.html

windows 2003 sp2下载:http://www.jb51.net/os/windows/Win2003/1904.html

1、安装php5.3.6

建议使用.zip而不实用.msi的安装版,此例以zip为例

解压php-5.3.6-Win32-VC9-x86到C:\php下

配置 php.ini

将 C:\PHP\php.ini-production 复制一个,然后重命名为 C:\PHP\php.ini

打开 C:\PHP\php.ini,

修改PHP.ini文件:

1、第531行改为:display_errors = On

2、第542行改为:display_startup_errors = On

3、第624行改为:error_prepend_string = "<br><font color=#ff0000>"

4、第630行改为:error_append_string = "</font><br><br>"

5、第813行改为:extension_dir = "D:\php\php_setup_files\php-5.3-vc9\ext\"

6、第854行改为:fastcgi.impersonate = 1

7、从948行到988行根据自己的需要修改

8、第997行改为:date.timezone = asia/Shanghai

其它的根据实际需要对 php.ini 进行设置修改,这里只针对能跑 php,修改完记得重启 IIS。(记得要细心哦:-D)

2、安装.net3.5 (已安装.net 2.0以上版本,该步骤可忽略)

2、Windows 2003 sp2 安装 (同样,已安装以上版本可忽略)

3、FASTCGI安装

安装后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图

同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler

注册 PHP 到 FastCGI:

打开 C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件

在 [Types] 下添加以下配置:

[Types]

php=PHP

[PHP]

ExePath=C:\PHP\php-cgi.exe

“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。

4、配置网站

右键网站 =》 属性 =》 主目录 =》 配置 =》 添加,如下图配置:

可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll

5、写文件测试

index.php测试页

<?php

phpinfo();

?>

6、安装mysql

下载:http://dev.mysql.com/downloads/

如何安装:http://www.duote.com/tech/1/2430_1.html

最新版本与该教程有所出入,不过基本一致

7、建立多站点 》》点击查看 (iis下如何建立多个站点)

8、开启伪静态支持 ISAPI_Rewrite 》》点击查看