最近在PHP官網上看到又有新版的PHP下載了,於是上去找找 For Windows的版本,可是一看,一共給了四個版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,這讓我這個菜鳥頭疼啊,還好PHP官網提供下載的地方左邊有個英文choose我看懂了,我估摸著就是如何來選擇版本的意思吧,於是開始查字典 及上網尋找,終於看明白了具體意思,拿來做個備忘先。 再給PHP100做個廣告,據說老大要出視頻示範了,我就簡單解釋一下。
一、如何選擇PHP5.3的VC9版本和VC6版本
VC6是什嗎?
VC6就是legacy Visual Studio 6 compiler,就是使用這個編譯器編譯的。
VC9是什嗎?
VC9就是the Visual Studio 2008 compiler,就是用微軟的VS編輯器編譯的。
那我們如何選擇下載哪個版本的PHP呢?
如果你是在windows下使用Apache+PHP的,請選擇VC6版本;
如果你是在windows下使用IIS+PHP的,請選擇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版本。
官方並不建議你將Non Thread Safe 應用於生產環境,所以我們選擇Thread Safe 版本的PHP來使用。