關於PHP的幾個版本和執行緒安全的討論

2021-06-06 05:24:33 字數 996 閱讀 4180

從php5.2.10版本開始(現在有php5.2.10和5.3兩個版本),有none-thread safe與thread safe兩種版本的可供選擇,這兩種版本有何不同,作為使用者來說又應該如何選擇呢?下面聚友將為您講述。

先從字面意思上理解,none-thread safe就是非執行緒安全,在執行時不進行執行緒(thread)安全檢查;thread safe就是執行緒安全,執行時會進行執行緒(thread)安全檢查,以防止有新要求就啟動新執行緒的 cgi 執行方式耗盡系統資源。

一、如何選擇php5.3的vc9版本和vc6版本

vc6版本是使用visual studio 6編譯器編譯的,如果你的php是用apache來架設的,那你就選擇vc6版本。

vc9版本是使用visual studio 2008編譯器編譯的,如果你的php是用iis來架設的,那你就選擇vc9版本。

二、如何選擇php5.3的thread safe和non thread safe版本

windows版的php從版本5.2.1開始有thread safe(執行緒安全)和none thread safe(nts,非執行緒安全)之分,這兩者不同在於何處?到底應該用哪種?這裡做乙個簡單的介紹。

先從字面意思上理解,thread safe是執行緒安全,執行時會進行執行緒(thread)安全檢查,以防止有新要求就啟動新執行緒的cgi執行方式而耗盡系統資源。non thread safe是非執行緒安全,在執行時不進行執行緒(thread)安全檢查。

因此,如果是使用isapi的方式來執行php就必須用thread safe(執行緒安全)的版本;而用fastcgi模式執行php的話就沒有必要用執行緒安全檢查了,用none thread safe(nts,非執行緒安全)的版本能夠更好的提高效率。

再來看php的兩種執行方式:isapi和fastcgi。

isapi執行方式是以dll動態庫的形式使用,可以在被使用者請求後執行,在處理完乙個使用者請求後不會馬上消失,所以需要進行執行緒安全檢查,這樣來提高程式的執行效率,所以如果是以isapi來執行php,建議選擇thread safe版本;

PHP 執行緒安全與非執行緒安全版本的區別

windows版的php從版本5.2.1開始有thread safe 執行緒安全 和none thread safe nts,非執行緒安全 之分,這兩者不同在於何處?到底應該用哪種?這裡做乙個簡單的介紹。從2000年10月20日發布的第乙個windows版的php3.0.17開始的都是執行緒安全的版...

PHP 執行緒安全與非執行緒安全版本的區別深入解析

從2000年10月20日發布的第乙個windows版的php3.0.17開始的都是執行緒安全的版本,這是由於與linux unix系統是採用多程序的工作方式不同的是windows系統是採用多執行緒的工作方式。如果在iis下以cgi方式執行php會非常慢,這是由於cgi模式是建立在多程序的基礎之上的,...

PHP 執行緒安全與非執行緒安全版本的區別深入解析

windows版的php從版本5.2.1開始有thread safe 執行緒安全 和none thread safe nts,非執行緒安全 之分,這兩者不同在於何處?到底應該用哪種?這裡做乙個簡單的介紹 從2000年10月20日發布的第乙個windows版的php3.0.17開始的都是執行緒安全的版...