首先我来解答:
VC6是什么?
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在windows下使用IIS+PHP的,请选择VC9版本;
Non Thread Safe就是非线程安全;
Thread Safe 是什么?
Non Thread Safe 是线程安全;
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI(无论搭配IIS 6 或IIS 7)执行PHP ,都建议下载、执行non-thread safe 的PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載zip 套件)所以我们选择NO-Thread Safe 版本的PHP来使用。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。
- 首先安装:FastCGI安装完毕之后(如果电脑己安装这个就进行第二步)
- 安装后在C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图:
- fcgiext.dll–fastcgi处理程序
- fcgiext.ini–配置文件
- fcgiconfig.js–FastCGI的控制脚本
- 同时在IIS的“Web服务扩展”里多了FastCGI Handler。
特点是:稳定,但效率太低。
特点是:多线程,效率较高,但不够稳定。
特点是:高效率,高稳定性,属于将来发展趋势。
- 安装PHP5.3 我选择择了默认路径C:\Program Files\PHP\
- 注册PHP 到FastCGI
- 两种方法:1.全命令行:
- 开始-运行-cmd-cd
- 转到刚才安装FastCGI的目录下:
- >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
- 效果图:
- 这种方法我在第二步:输入:cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe" 结果返回不成功。但我没有管也把剩下的命令也执行了。
- 如果这种方法不出错那就说明己可以了,但我又找到一种手动配制的方法,并且成功
- 2.手动注册:
; The FastCGI handler will look for this file in the same directory as
我个人的理解是,只要“Web 服务扩展”里的FastCGI Handler 为允许时,在加载fcgiext.dll 时,会读取fcgiext.ini 配置文件的内容,根据里面的配置为每个网站提供映射。
php=PHP
ExePath=C:\PHP\php-5.2.14-Win32\php-cgi.exe
- 差不多到这儿,整个过程己结束。但我还是啰嗦下关于PHP与Mysql结合的问题。这可也能是很多起初想让IIS拥有解析PHP能力的构想者所担心的问题。到时候怎么配数据库啊。……