1、簡介
ts(Thread-Safety):即線程安全,多線程訪問時,采用了加鎖機制,當一個線程訪問該類的某個數據時,進行保護,其他
線程不能進行訪問直到該線程讀取完,其他線程才可使用。不會出現數據不一致或者數據污染php以ISAPI方
式加載的時候選擇這個版本,php以ISAPI方式加載的時候選擇這個版本。
nts(None-Thread Safe):即非線程安全,就是不提供數據訪問保護,有可能出現多個線程先后更改數據造成所得到的是
臟數據,php以fast cgi方式運行的時候選擇這個版本,具有更好的性能;
ISAPI(Internet Server Application Programming Interface):通常是指被http服務器所加載,以服務器的模塊形式運行,由微
軟提出,故只能在win平臺上運行,例如win下的apache,iis[據說用fast cgi 方式工作更穩定],而linux上php
則以 Apache模塊或者php-fpm的方式運行。
cgi(Common Gateway Interface):HTTP服務器與你的或其它機器上的程序進行“交談”的一種工具,說白了,cgi就是一種
后臺語言,其可以和服務器之間進行通訊。此時的php是作為一個獨立的程序運行的。特點就是耗費內存。
fast cgi:是一個常駐(long-live)型的CGI,它可以一直執行著,只要激活后,不會每次都要花費時間去fork.這種方式
是與語言無關的、可伸縮架構的CGI開放擴展,其主要行為是將CGI解釋器進程保持在內存中并因此獲得較
高的性能。
cgi和fast cgi的區別找度娘。
2、選擇
通常win下php和apache組合,以isapi的方式運行,而linux下可以是apche+php,php常常作為apache的模塊,而nginx+php時,phpfast cgi的方式,即php-fpm的方式跑。
據說php-fpm這種方式釋放了web服務器,使其僅僅處理請求和并發,而php處理則交php-fpm完成,故 nginx+php現在很受青睞,沒測過!
相關文章推薦:
PHP中時間函數strtotime() 函數的原理講解
php中isset()函數與empty()函數的作用分析及簡單的比較
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答