PHP版本解析

PHP下载的时候有几个不同版本选择。那就是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和Thread Safe的版本选择应该也是困扰大家的,
  先从字面上理解一下:None-Thread Safe就是线程安全,在执行时不进行线程(Thread)安全检查;Thread Safe就是线程安全,执行时会进行线程(Thread)安全检查,以防止有新的请求就启动新线程的CGI执行方式耗尽系统资源。

  来看php的加载方式,CGI就不说了,太跨了就。。。就来说一下ISAPI和FastCGI两种加载方式。讲ISAPI又难免扯到Linux,这里也将要提一下,基于Linux的操作系统是采用多进程的工作方式,而我们比较熟悉的Windows操作系统是采用多线程的工作方式。多进程和多线程不一样的。ISAPI是以多线程的方式来加载php,但是php很多常用的扩展却是以Linux下的多进程工作方式开发出来的,那么这些扩展在ISAPI里,就会出问题。。。

  FastCGI加载php,可以让php-cgi进程重复利用,而不是像CGI那样,每次重新卸载再装载,造成资源的重度浪费。同事FastCGI可以允许几个进程同时执行,这样解决了CGI方式消耗太大或是ISAPI与php的兼容性的问题,能很好的提高稳定性来加载php。FastCGI是以单一线程来执行操作,所以不需要进行线程的安全检查,省掉了线程安全检查反而提高了执行效率,所以,如果以FastCGI(无论是IIS服务器,或者是Nginx服务器)来加载php,都建议使用None-Thread Safe版本的php。
官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。

posted on 2011-04-01 14:50  Devil.Waltz  阅读(759)  评论(0编辑  收藏  举报

导航