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