hph IIS配置问题

来源:互联网 发布:client mac addr解决 编辑:程序博客网 时间:2024/05/21 10:18
今天要做IIS6与PHP的整合配置
从官网上下载 PHP 5.2.17(5.2.17) Complete Source Code(完整的源代码)版本发现没有php5isapi.dll这个文件。不能“添加isapicgi限制、添加isapi筛选器、添加脚本映射” 后来发现应该下载线程安全包 PHP 5.2.17  VC6 x86 Thread Safe (线程安全包)。使用线程安全包后解决找不到php5isapi.dll问题。注意VC6 x86 Non Thread Safe (非线程安全)包也没有 php5isapi.dll这个文件

现在新的5.3.8之后的版本不再使用Isapi模式,都将使用FastCGI模式所以在安装5.3以后的版本将不会有php5isapi.dll文件。

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