導航:首頁 > 編程語言 > php線程安全版本

php線程安全版本

發布時間:2022-05-21 00:13:45

❶ 如何判斷php 是線程安全ts還是非線程安全nts版的

可以列印phpinfo();這個函數會告訴你
從字面意思上理解,None-Thread Safe就是非線程安全,在執行時不進行線程(thread)安全檢查;Thread Safe就是線程安全,執行時會進行線程(thread)安全檢查,以防止有新要求就啟動新線程的 CGI 執行方式耗盡系統資源。
再來看PHP的兩種執行方式:ISAPI和FastCGI。FastCGI執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率,所以,如果是以 FastCGI(無論搭配 IIS 6 或 IIS 7)執行 PHP ,都建議下載、執行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 zip 套件)。而線程安全檢查正是為ISAPI方式的PHP准備的,因為有許多php模塊都不是線程安全的,所以需要使用Thread Safe的PHP。

❷ php5 NTS和TS版本的區別,所謂的線程安全和非安全

先從字面意思上理解:

  1. None-Thread Safe就是非線程安全,在執行時不進行線程(thread)安全檢查;

  2. Thread Safe就是線程安全,執行時會進行線程(thread)安全檢查,以防止有新要求就啟動新線程的 CGI 執行方式耗盡系統資源。


再來看PHP的兩種執行方式:

ISAPI和FastCGI。

  1. FastCGI執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率,所以,如果是以 FastCGI(無論搭配 IIS 6 或 IIS 7)執行 PHP ,都建議下載、執行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 zip 套件)。

  2. 而線程安全檢查正是為ISAPI方式的PHP准備的,因為有許多php模塊都不是線程安全的,所以需要使用Thread Safe的PHP。

❸ php5 non-thread-safe和thread-safe這兩個版本有何區別

從PHP5.2.10版本開始(現在有PHP5.2.10和5.3兩個版本),有None-Thread Safe與Thread Safe兩種版本的可供選擇,這兩種版本有何不同,作為使用者來說又應該如何選擇呢?下面聚友將為您講述。
先從字面意思上理解,None-Thread Safe就是非線程安全,在執行時不進行線程(thread)安全檢查;Thread Safe就是線程安全,執行時會進行線程(thread)安全檢查,以防止有新要求就啟動新線程的 CGI 執行方式耗盡系統資源。
再來看PHP的兩種執行方式:ISAPI和FastCGI。FastCGI執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率,所以,如果是以 FastCGI(無論搭配 IIS 6 或 IIS 7)執行 PHP ,都建議下載、執行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 zip 套件)。而線程安全檢查正是為ISAPI方式的PHP准備的,因為有許多php模塊都不是線程安全的,所以需要使用Thread Safe的PHP。

❹ PHP線程安全和非線程安全版本的區別

Windows下的PHP版本分兩種:線程安全版本與非線程安全版本。

要論兩者的區別,詳細論說起來比較麻煩,從使用者的角度,記住什麼時候用哪種版本的區別就可以了吧:

1、windows + IIS + FastCGI :使用非線程安全版本。
以FastCGI方式安裝PHP時,PHP擁有獨立的進程,並且FastCGI是單一線程的,不存在多個線程之間可能引發的相互干擾(這種干擾通常都是由於全局變數和靜態變數導致的)。由於省去了線程安全的檢查,因此使用FastCGI方式比ISAPI方式的效率更高一些。

2、windows + IIS + ISAPI :使用線程安全版本。
PHP以ISAPI方式安裝時,PHP沒有獨立的進程,而是作為DLL被IIS載入運行的,即是依附於Web伺服器進程的。當Web伺服器運行在多線程模式下(IIS正是這種情況),PHP自然也就運行在多線程模式下。只要是在多線程模式下運行,就可能存在線程安全問題,因此應選擇PHP的線程安全版本。

3、windows + Apache + PHP(模塊) :使用線程安全版本。
如果你要在Apache中以模塊方式安裝PHP,則你應該使用PHP的線程安全的版本。原因是當PHP作為Apache的模塊安裝時,PHP沒有獨立的進程,而是作為模塊以DLL的形式被載入到Apache中的,是隨Apache的啟動而啟動的,而Windows下的Apache為多線程工作模式,因此PHP自然也就運行在多線程模式下。因此,這種情況下應使用PHP的線程安全版本。

4、windows + Apache + PHP(ISAPI) :使用線程安全版本。
由於以ISAPI方式來安裝PHP時,PHP也沒有獨立的進程,也是作為模塊被載入到Apache中的,因此,同樣也需要使用PHP的線程安全版本。

一般不建議在Apache中以ISAPI方式來安裝PHP,原因是到目前為止,Apache通過mod_isapi.so模塊來實現的ISAPI功能並不完整,並未完整實現微軟對ISAPI所制定的全部規范。

5、windows + Apache + PHP(FastCGI) :使用非線程安全版本。
如果你要在Apache中以FastCGI方式使用PHP,則同在IIS中使用FastCGI的PHP的情況一樣,你應該使用PHP的非線程安全的版本。原因是在Apache中以FastCGI方式安裝PHP時,PHP擁有獨立的進程,並且FastCGI是單一線程的,故應使用PHP的非線程安全版本以提高性能。

❺ "nginx下php裝什麼版本及php的線程安全與非線程安全版本的區別

為了兼顧IIS下PHP的效率和安全,微軟 給出了FastCGI的解決方案。FastCGI可以讓PHP的進程重復利用而不是每一個新的請求就重開一個進程。
同時FastCGI也可以允許幾個進程 同時執行。這樣既解決了CGI進程模式消耗太大的問題,又利用上了CGI進程模式不存在線程安全問題的優勢。

❻ 安全線程的PHP5.6版本是否可以配置Zend Guard Loader for PHP 5.6,為什麼配置失敗,快來幫我解決問題

你配置的問題??

❼ PHP線程安全與非線程安全的區別:如何選擇用哪一個

首先,Linux下的PHP,沒有線程安全版和非線程安全版之分。從2000年10月20日發布的第一個Windows版的PHP3.0.17開始的都是線程安全的版本,直至5.2.1版本開始有Thread Safe(TS,線程安全)和None Thread Safe(NTS,非線程安全)之分。

因為,Linux/Unix系統採用的是多進程的工作方式,而Windows系統採用多線程的工作方式。即:Linux系統的任務調度基本單位是進程,Windows系統的任務調度基本單位是線程(本觀點來自自學與總結,不能保證百分之百正確)。

所以,在Windows系統的IIS下以CGI方式運行PHP會非常慢,這是由於CGI模式是建立在多進程的基礎之上的,而非多線程,且CGI模式對於每個HTTP請求都需要重新載入和卸載整個PHP環境,其消耗是巨大的。

於是,一般我們會把PHP配置成以ISAPI的方式來運行,ISAPI是多線程的方式,這樣就快多了。但存在一個問題,很多常用的PHP擴展是以 Linux/Unix的多進程思想來開發的,這些擴展在ISAPI的方式運行時就會出錯搞垮IIS。

為了兼顧IIS下PHP的效率和安全,微軟給出了FastCGI的解決方案。FastCGI可以讓PHP的進程重復利用,而不是每一個新的請求就重開一個進程。同時FastCGI也可以允許幾個進程同時執行。這樣既解決了CGI進程模式消耗太大的問題,又利用上了CGI進程模式不存在線程安全問題的優勢。

因此,如果是使用ISAPI的方式來運行PHP就必須用Thread Safe(TS,線程安全)的版本;而用FastCGI模式運行PHP的話就沒有必要用線程安全檢查了,用None Thread Safe(NTS,非線程安全)的版本能夠更好的提高效率。

名詞解析:

❽ php版本選擇問題.VC6和VC9的區別,TS和NTS如何選擇

TS是Thread Safety,代表線程安全,而NTS是None Thread Safe代表非線程安全。


Windows系統下才分線程安全與非線程安全,

windows + Apache + PHP(模塊) :使用線程安全版本。

windows + Apache + PHP(FastCGI) :使用非線程安全版本。


如果你的電腦是32位的, 那裝x86的版本,如果是64位的, 裝x64的版本!

一般來說不區分32位和64位,或者64位操作系統兼容32位的PHP,但是在某些操作系統上還是區分32位和64位的,例如windows 2008


vc6和vc9是指vc運行庫的版本,你PHP版本標志的是VC9,那麼運行的時候,需要安裝vc9

VC9 -是安裝運行使用 Visual Studio 2008 生成的 C++ 應用程序所必需的運行時組件。



這篇教程文章里提供700多個PHP版本下載。(700個PHP版本一鍵切換)
網路搜索這個文章標題:
PHP集成環境如何自定義PHP版本,同時運行多個php版本一鍵開啟模塊。

搜到的文章中,在文章的附件里有提供PHP歷史版本下載,差不多700多個PHP版本,最老和最新版本都包含了。如果你找不到,就找原文吧,因為你搜到的文章可能是被其他網站轉載的。


建議使用PHPWAMP綠色集成環境,700個PHP版本隨意切換,多版本同時運行。

(網路搜PHPWAMP有詳細的使用教程,能同時運行多個PHP版本,一鍵去埠等)

❾ php線程安全版和非線程安全版應該用哪個

Apache伺服器就用非線程安全的 IIS就用線程安全的

❿ Nginx下php裝什麼版本及PHP的線程安全與非線程安全版本的區別

1. VC6與VC9的區別:
VC6版本是使用Visual Studio 6編譯器編譯的,如果你的PHP是用Apache來架設的,那你就選擇VC6版本。

VC9版本是使用Visual Studio 2008編譯器編譯的,如果你的PHP是用IIS來架設的,那你就選擇 VC9版本。

VC9版本是針對IIS伺服器的版本,沒有對APACHE的支持,而VC6版本對IIS和Apache都提供了支持

2.Ts與nts的區別:
Windows版的PHP從版本5.2.1開始有Thread Safe和NoneThread Safe之分。

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

3.PHP的兩種執行方式:ISAPI和FastCGI。
ISAPI執行方式是以DLL動態庫的形式使用,可以在被用戶請求後執行,在處理完一個用戶請求後不會馬上消失,所以需要進行線程安全檢查,這樣來提高程序的執行效率,所以如果是以ISAPI來執行PHP,建議選擇ThreadSafe版本;

而FastCGI執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率,所以,如果是以FastCGI來執行PHP,建議選擇NonThread Safe版本。通過phpinfo(); 查看其中的 Thread Safety 項,這個項目就是查看是否是線程安全,如果是:enabled,一般來說應該是ts版,否則是nts版。

來源:PHP版本的區別與用法詳解-http://www.leixuesong.cn/259

閱讀全文

與php線程安全版本相關的資料

熱點內容
python導出sap 瀏覽:513
車智匯app如何下載 瀏覽:434
python如何將圖片輸出到雲伺服器 瀏覽:838
貴陽螺桿壓縮冷凝機組組成 瀏覽:115
掃描製作pdf 瀏覽:515
2016奇駿車機如何安裝app 瀏覽:764
phpvc9x64 瀏覽:73
蜜語星球解壓 瀏覽:476
c語言編譯器怎麼打不開 瀏覽:818
海印程序員 瀏覽:648
為什麼華為手機找不到伺服器 瀏覽:664
pdf增減 瀏覽:608
雲伺服器怎麼公網架設網站 瀏覽:91
pythonrequests慢 瀏覽:140
excel保存沒有pdf 瀏覽:922
冰箱壓縮機管囗示意圖 瀏覽:497
許振民編譯局 瀏覽:625
雙網路加什麼伺服器好用 瀏覽:211
linux命令中文 瀏覽:839
python怎麼做物聯網 瀏覽:731