第一步:下载php5.3.3的windows压缩版本:php-5.3.3-nts-Win32-VC9-x86.zip,并进行配置
PHP5.3.2:php- 5.3.2-nts-Win32-VC9-x86.zip
地址:

http://windows.php.net/downloads/releases/php-5.3.2-nts-Win32-VC9-x86.zip

MySQL:mysql-essential-5.1.48-win32.msi
地址:

http://windows.php.net/downloads/releases/php-5.3.2-nts-Win32-VC9-x86.zip

PHP5.3的版本选择(熟悉的朋友,可跳过往下看)

现在的PHP5.3 For Windows一共给了四个版本:VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,参考PHP官网提供下载的地方左边的英文来看看这几个版本有什么区别。

一、如何选择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版本。

我 们使用IIS+FastCGI方式配置服务器环境,所以使用Non Thread Safe版本。

--------------------------------------------------------------------------------------------------------------------------

下面开始我们的IIS+PHP5.3+MySQL5.1的配置过程
修改PHP.ini

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; date.timezone =
更改为并去除前面的“;”:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
如果不改以上的date.timezone可能打开网页会提示500错误
找到
; On windows:
; extension_dir = "ext"
改为
; On windows:
extension_dir = “D:\php\ext” 指向php文件夹下放置“php_*.dll”文件的路径
magic_quotes_gpc = On 如果是 Off,一定要打开为 On,这是防止sql攻击的重要的一步!5.0版本已经默认 On 了
register_globals=Off 改为 register_globals=On ,使传递全局变量有效;
short_open_tag =Off,把off改成On ,此处一般能解决运行安装Discuz!论坛时出现空白的问题

然后再查找以下字符串,把代码前的分号去掉。
extension=php_mbstring.dll   这个不选的话用phpMyAdmin会出现红色提示
extension=php_dba.dll
extension=php_dbase.dll
extension=php_filepro.dll    可选
extension=php_gd2.dll     支持GD库的,一般要滴
extension=php_imap.dll 可选
extension=php_ldap.dll
extension=php_mysql.dll    支持MySQL的

接下来修改了一些文件上传以及内存使用最大限制:
memory_limit = 20M     内存容量
post_max_size = 20M    闪存容量
upload_max_filesize = 20M  附件容量

第二步:下载安装 Microsoft FastCGI Extension for IIS 5.1 and 6.0
1、下载地址:

http://www.iis.net/download/fastcgi

http://download.microsoft.com/do ... tup_1.5_rtw_x86.msi
2、安装fcgisetup_1.5_rtw_x86.msi
3、配置fcigext.ini (在%WINDIR%\system32\inetsrv 目录里)
在fcigext.ini 末尾添加如下内容即可:
[Types]
php=PHP
[PHP]
ExePath=D:\php\php-cgi.exe (PHP目录)
4、配置FastCGI 扩展与PHP 协同工作
右击“网站”选择“属性”,
单击“主目录”选项,点击“配置”按钮,
单击”添加“按钮,
单击”浏览“ 在 %WINDIR%\system32\inetsrv 里寻找fcgiext.dll 。
在扩展名里输入 .php ,
动作选择”限制为“,输入”GET,HEAD,POST“。
确认”脚本引擎“和”检查文件是否存在“是否选择,
如没选中,请选中。
确认无误后,单击“确定”。

第三步:相关权限配置
C:\WINDOWS\system32\inetsrv\fcgiext.dll 的权限,NETWORK_SERVICE和IUSR_***(Internet来宾账户)的可读和运行权限。
PHP安装目录的权限,NETWORK_SERVICE的读和运行权限
网站所在目录的权限,IUSR_***(Internet来宾账户)的读取和运行权,需要写入的目录单独再给写入权

第三步:写个简单的脚步测试PHP FastCGI 是否正常工作了。
在C:\Inetpub\wwwroot 目录创建test.php 文件,打开Test.php,填写如下内容:<?php phpinfo(); ?>