最近在 PHP 官網(wǎng)上看到又有新版的 PHP 下載了,于是上去找找 For Windows的版本,可是一看確傻眼了,一共給了四個(gè)版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6x86 Non Thread Safe、VC6 x86 Thread Safe,這讓我這個(gè)菜鳥(niǎo)頭疼啊,還好 PHP官網(wǎng)提供下載的地方左邊有個(gè)英文 choose我看懂了,我估摸著(zhù)就是如何來(lái)選擇版本的意思吧,于是開(kāi)始查字典及上網(wǎng)查找,終于看明白了具體意思,拿來(lái)做個(gè)備忘先。
一、如何選擇 PHP5.3 的 VC9 版本和 VC6 版本
VC6 版本是使用 Visual Studio 6 編譯器編譯的,如果你的 PHP 是用 Apache 來(lái)架設的,那你就選擇 VC6 版本。
VC9 版本是使用 Visual Studio 2008 編譯器編譯的,如果你的 PHP 是用 IIS 來(lái)架設的,那你就選擇 VC9 版本。
二、如何選擇 PHP5.3 的 Thread Safe 和 Non Thread Safe 版本
先從字面意思上理解,Thread Safe 是線(xiàn)程安全,執行時(shí)會(huì )進(jìn)行線(xiàn)程(Thread)安全檢查,以防止有新要求就啟動(dòng)新線(xiàn)程的 CGI 執行方式而耗盡系統資源。Non Thread Safe 是非線(xiàn)程安全,在執行時(shí)不進(jìn)行線(xiàn)程(Thread)安全檢查。
再來(lái)看 PHP 的兩種執行方式:ISAPI 和 FastCGI。
ISAPI 執行方式是以 DLL 動(dòng)態(tài)庫的形式使用,可以在被用戶(hù)請求后執行,在處理完一個(gè)用戶(hù)請求后不會(huì )馬上消失,所以需要進(jìn)行線(xiàn)程安全檢查,這樣來(lái)提高程序的執行效率,所以如果是以 ISAPI 來(lái)執行 PHP,建議選擇 Thread Safe 版本;
而 FastCGI 執行方式是以單一線(xiàn)程來(lái)執行操作,所以不需要進(jìn)行線(xiàn)程的安全檢查,除去線(xiàn)程安全檢查的防護反而可以提高執行效率,所以,如果是以 FastCGI 來(lái)執行 PHP,建議選擇 Non Thread Safe 版本。
聯(lián)系客服