淺談php的TS和NTS的區(qū)別
ts(Thread-Safety)
即線程安全,多線程訪問時(shí),采用了加鎖機(jī)制,當(dāng)一個(gè)線程訪問該類的某個(gè)數(shù)據(jù)時(shí),進(jìn)行保護(hù),其他線程不能進(jìn)行訪問直到該線程讀取完,其他線程才可使用。不會(huì)出現(xiàn)數(shù)據(jù)不一致或者數(shù)據(jù)污染php以ISAPI方式加載的時(shí)候選擇這個(gè)版本.,php以ISAPI方式加載的時(shí)候選擇這個(gè)版本.
nts(None-Thread Safe)
即非線程安全,就是不提供數(shù)據(jù)訪問保護(hù),有可能出現(xiàn)多個(gè)線程先后更改數(shù)據(jù)造成所得到的是 臟數(shù)據(jù)php以fast cgi方式運(yùn)行的時(shí)候選擇這個(gè)版本,具有更好的性能;
ISAPI
(Internet Server Application Programming Interface), 通常是指被http服務(wù)器所加載,以服務(wù)器的模塊形式運(yùn)行,由微 軟提出,故只能在win平臺(tái)上運(yùn)行,例如win下的apache,iis[據(jù)說用fast cgi 方式工作更穩(wěn)定],而linux上php 則以 Apache模塊或者php-fpm的方式運(yùn)行。
cgi
(Common Gateway Interface):HTTP服務(wù)器與你的或其它機(jī)器上的程序進(jìn)行“交談”的一種工具,說白了,cig就是一種 后臺(tái)語言,其可以和服務(wù)器之間進(jìn)行通訊。此時(shí)的php是作為一個(gè)獨(dú)立的程序運(yùn)行的。特點(diǎn)就是耗費(fèi)內(nèi)存。
fast cgi.
是一個(gè)常駐(long-live)型的CGI,它可以一直執(zhí)行著,只要激活后,不會(huì)每次都要花費(fèi)時(shí)間去fork.這種方式 是與語言無關(guān)的、可伸縮架構(gòu)的CGI開放擴(kuò)展,其主要行為是將CGI解釋器進(jìn)程保持在內(nèi)存中并因此獲得較 高的性能。
ISAPI執(zhí)行方式是以DLL動(dòng)態(tài)庫的形式使用,可以在被用戶請(qǐng)求后執(zhí)行,在處理完一個(gè)用戶請(qǐng)求后不會(huì)馬上消失,所以需要進(jìn)行線程安全檢查,這樣來提高程序的執(zhí)行效率,所以如果是以ISAPI來執(zhí)行PHP,建議選擇ThreadSafe版本。
而FastCGI執(zhí)行方式是以單一線程來執(zhí)行操作,所以不需要進(jìn)行線程的安全檢查,除去線程安全檢查的防護(hù)反而可以提高執(zhí)行效率,所以,如果是以FastCGI來執(zhí)行PHP,建議選擇NonThread Safe版本。
通過phpinfo(); 查看其中的 Thread Safety 項(xiàng),這個(gè)項(xiàng)目就是查看是否是線程安全,如果是:enabled,一般來說應(yīng)該是ts版,否則是nts版。
以上所述是小編給大家php的TS和NTS的區(qū)別,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
PHP項(xiàng)目在Docker(WSL2)中運(yùn)行緩慢的解決方法
最近在使用Docker容器運(yùn)行PHP項(xiàng)目的時(shí)候,發(fā)現(xiàn)特別緩慢,例如一個(gè)干凈的?ThinkPHP?5.1?框架,訪問首頁都需要1秒以上,如果再加上數(shù)據(jù)庫查詢、復(fù)雜的業(yè)務(wù)邏輯等代碼的話,那速度可想而知,所以本文就給大家介紹了解決方法,需要的朋友可以參考下2023-09-09php中g(shù)et_meta_tags()、CURL與user-agent用法分析
這篇文章主要介紹了php中g(shù)et_meta_tags()、CURL與user-agent用法,以實(shí)例形式較為詳細(xì)的分析了get_meta_tags()、CURL與user-agent使用時(shí)的注意事項(xiàng)與用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12PHP實(shí)現(xiàn)連接設(shè)備、通訊和發(fā)送命令的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)連接設(shè)備、通訊和發(fā)送命令的方法,涉及php基于socket實(shí)現(xiàn)設(shè)備連接及數(shù)據(jù)通信的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10