日期:2014-05-17  浏览次数:20648 次

问个理论类的问题,现在有些混乱了(看了很多文章)
1.PHP版本,现在有2个 

    1)VC9 x86 Non Thread Safe (2013-May-08 22:51:31)
   
    2)VC9 x86 Thread Safe (2013-May-08 22:51:34)

    一个非线程安全,一个线程安全;

2.PHP在服务器apache的执行方式fastCGI/模块化,(我一直用的apache)目前最新本版的Apache2.4.4 win64

    看了不少文章后,得出结论:以fastCGI方式执行最优 (不知道正确与否)

    据说:fastCGI是单线程执行,所以应该使用 NTS 非线程安全版本的PHP

    同时官方原话:
    

      IIS
    If you are using PHP with IIS you should use the Non-Thread Safe (NTS) versions of PHP.
    


现在问题来了:

     我要是的服务器肯定是 Apache2.4.4 win64  (目前最新的)

     如果配置以fastCGI方式执行PHP,我该选择 非线程安全(NTS)还是 线程安全(TS)?

     apache2.4.4 win64 配置fastCGI 怎么弄?有没有什么检查办法,查看apache究竟是什么方式(模块化还是fastCGI)执行了php

     比较小白,求理论清晰的给予帮助

------解决方案--------------------
有写事实你需要注意:
目前 php 并没有发行 win64 的版本
下目前发行的 x86 版本中并没有对 Apache2.4.4 的支持

fastCGI 是 CGI 的扩充
fastCGI 是一个应用程序池,他将多个 CGI 进程包裹起来进行管理

以 CGI 方式安装的 php 从 phpinfo 中看到的就是 fastCGI
具体的的配制方法,可以看一下包中的 install.txt 文件
我习惯模块方式,就不说 CGI 的配置方法了。以免误导

目前 fastCGI 有了很大改进,运行效率据说可以和模块方式媲美了
另外,在 IIS 中已经不再支持模块(ISAPI)方式了,只支持 fastCGI 方式