中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中nts和ts有哪些區別

發布時間:2022-02-22 15:26:04 來源:億速云 閱讀:263 作者:iii 欄目:編程語言

這篇“php中nts和ts有哪些區別”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“php中nts和ts有哪些區別”文章吧。

php中nts和ts的區別:ts表示線程安全,多線程訪問時采用了加鎖機制,當一個線程訪問該類的某個數據時其他線程不能同時訪問;而nts表示非線程安全,不提供線程訪問保護,多個線程可以同時操作同一數據。

本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。

php中nts和ts有什么區別

在PHP 開發和生產環境搭建過程中,需要安裝PHP語言解析器。官方提供了2種類型的版本,線程安全(TS)版和非線程安全(NTS)版,有時后我們開發環境和實際生產的環境有所不同,因此也需要選擇安裝對應的PHP版本。

在此記錄下筆記,方便日后查看 …

1、簡介

TS:

TS(Thread-Safety)即線程安全,多線程訪問時,采用了加鎖機制,當一個線程訪問該類的某個數據時進行數據加鎖保護,其他線程不能同時進行訪問該數據,直到該線程讀取完畢,其他線程才可訪問使用該數據,好處是不會出現數據不一致或者數據污染的情況,但耗費的時間要比 NTS 長。

PHP以 ISAPI 方式(Apache 常用方式)加載的時候選擇TS版本。

NTS:

NTS(None-Thread Safe)即非線程安全,不提供數據訪問保護,有可能出現多個線程先后或同時操作同一數據的情況,容易造成數據錯亂(即臟數據),一般操作的執行時間要比 TS 短。

PHP以FAST-CGI方式加載運行的時候選擇TNS版,具有更好的性能;

ISAPI:

ISAPI(Internet Server Application Programming Interface), 通常是指被http服務器所加載,以服務器的模塊形式運行,由微 軟提出,故只能在win平臺上運行,如win下的apache,iis[用fast cgi 方式工作更穩定],而linux上php 則以 Apache模塊(常用方式)或者php-fpm(該方式更適合于NGINX+PHP 運行)的方式運行。

CGI:

cgi(Common Gateway Interface):HTTP服務器與客戶端機器上的程序進行“交談”的一種工具,簡而言之,cig就是一種 后臺語言,可以與服務器進行通訊。此時的php是作為一個獨立的程序運行的,特點就是耗費內存。

FAST CGI:

fast cgi是一個常駐(long-live)型的CGI,它可以一直執行著,只要激活后,不會每次都要花費時間去fork一個新進程。這種方式 是與語言無關的、可伸縮架構的CGI開放擴展,其主要行為是將CGI解釋器進程保持在內存中并因此獲得較 高的性能。

FAST-CGI 是微軟為了解決 CGI 解釋器的不足而提出改進方案。當一個請求向 web server 發送請求時,web server總會fork一個CGI解釋器進程進行處理這個請求,進程處理完成之后將結果返回給web server,web server將結果返回并顯示出來,進程結束,當用戶再次請求同一個頁面時,web server又會fork一個新進程進行請求處理,這樣效率會比較低下(CGI被人詬病的主要原因)。而采用FAST-CGI 解釋器的 話,當一個請求執行完畢后不會注銷該進程,而是將改進程進入休眠期,當接收到新的請求時,重新啟用改進程進行處理。FAST-CGI 較CGI 減少了進程的重復創建的資源占用。

進程與線程:一個進程至少存在一個或多個線程。

2、選擇

通常win下 PHP + Apache 組合,以 ISAPI 的方式運行。

而linux下通常分為2種:

Apache + PHP,PHP一般作為Apache 的模塊進行運行;

Nginx + PHP ,以 phpfast cgi的方式,即php-fpm的方式運行,該方式對高并發、高負載有良好的性能體現,因此很多網站采用該方式進行環境的搭建。

Nginx 較Apache 的配置要少很多,因此人為出錯的概率要少一點,但也因此 Apache 的 穩定性要比Nginx 高。

前面廢話了那么多,下面才是重點 …

總結:

以 ISAPI 方式運行就用 TS 線程安全版

以 FAST-CGI 或 PHP-FPM 方式運行就用NTS 非線程安全版

通常 Windows 下 Apache + PHP 選TS ,IIS(fast-cgi) + PHP 選TNS

通常Linux 下 Apache + PHP 選TS,Nginx + PHP 選TNS

以上就是關于“php中nts和ts有哪些區別”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

萝北县| 昭觉县| 正安县| 休宁县| 泰兴市| 根河市| 布拖县| 蓝山县| 阿拉善左旗| 铜梁县| 北宁市| 新野县| 曲水县| 清水县| 陆河县| 潼关县| 鄂托克旗| 沾化县| 靖宇县| 蓬溪县| 平原县| 昭平县| 新宾| 连山| 西乌| 贵州省| 大英县| 宜阳县| 绍兴县| 二连浩特市| 崇左市| 广水市| 舞钢市| 涿州市| 正安县| 铜鼓县| 紫阳县| 太湖县| 新兴县| 游戏| 沁阳市|