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来使用。