None Thread Safe就是非線程安全,在執行時不進行線程(thread)安全檢查。
Thread Safe就是線程安全,執行時會進行線程(thread)安全檢查,以防止有新要求就啟動新線程,耗盡系統資源。
再看看這兩者的選擇。
為了與外部交換數據,PHP提供了一種叫SAPI的接口。
SAPI是一個中間過程,提供了一個和外部通信的接口,有點類似於socket。
SAPI使得PHP可以和其他應用進行交互數據(如Apache、Nginx等)。
PHP默認提供了很多種SAPI,常見的提供給Apache、Nginx、IIS6/7的FastCGI,單獨給IIS的ISAPI,以及Shell的CLI。
FastCGI執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率。
而線程安全檢查是為ISAPI方式的PHP准備的,也就是為IIS准備的,因為有許多php模塊都不是線程安全的,所以需要使用Thread Safe的PHP。
所以,如果是以 FastCGI 執行 PHP ,都建議用Non Thread Safe的 PHP (zip安裝包)。
