首頁 後端開發 php教程 淺談PHP幾個版本的差別

淺談PHP幾個版本的差別

Apr 24, 2019 am 11:29 AM
php版本

這篇文章小編將帶大家了解PHP各版本的差別,有興趣的朋友可以了解一下,希望能對你有幫助。

PHP的版本,自從進入5以後,發布新版本速度明顯提升很多,從PHP5.2開始,5.3 、5.4 、5.5,就快要6.0了。

附註:ecshop使用者請自覺使用php5.2.17版本。呵呵。

在php官網下載php時,我們會發現有vc6、vc9的差別,這是什麼意思呢?

VC6是legacy Visual Studio 6 compiler,使用這個版本的編譯器編譯PHP程式碼的,使用apache做應用程式伺服器,則選擇vc6。
VC9是the Visual Studio 2008 compiler,就是用微軟的VS編輯器編譯的。使用IIS做應用程式伺服器,則選擇vc9。 

那麼,我們注意到,php-5.2.17-nts-Win32-VC6-x86.zip php的解壓縮檔案中,有nts和沒有nts的區別,這又是什麼意思呢? 

這要從php的5.2系列版本說起。從5.2.1版開始,就有ts和nts的差別,Thread Safe(執行緒安全性)和None Thread Safe(NTS,非執行緒安全性) 

Windows版的PHP從版本5.2.1開始有Thread Safe(線程安全)和None Thread Safe(NTS,非線程安全)之分,這兩者不同在於何處?到底該用哪一種?這裡做一個簡單的介紹。

從2000年10月20日發布的第一個Windows版的PHP3.0.17開始的都是線程安全的版本,這是因為Linux/Unix系統是採用多進程的工作方式,而Windows系統是採用多執行緒的工作方式。如果在IIS下以CGI方式運行PHP會非常慢,因為CGI模式建立在多進程的基礎上,而不是多執行緒。我們在windows上會把PHP配置成以ISAPI的方式來運行,因為ISAPI是多執行緒的方式,這樣就快多了。

但存在一個問題,很多常用的PHP擴充是以Linux/Unix的多進程思想來開發的,這些擴充在ISAPI的方式運行時就會出錯,很可能將IIS進程搞崩潰,因此對IIS來說,CGI模式才是PHP運作的最安全的方式,只不過CGI模式對於每個HTTP請求都需要重新載入和卸載整個PHP環境,其消耗是龐大的。
為了兼顧IIS下PHP的效率與安全,微軟給了FastCGI的解決方案。 FastCGI可以讓PHP的程序重複利用而不是每一個新的請求就重開一個進程。同時FastCGI也可以允許幾個進程同時執行。這樣既解決了CGI進程模式消耗太大的問題,又利用了CGI進程模式不存在執行緒安全性問題的優勢。
因此,如果是使用ISAPI的方式來運行PHP就必須用Thread Safe(線程安全)的版本;而用FastCGI模式運行PHP的話就沒有必要用線程安全檢查了,用None Thread Safe(NTS,非線程安全)的版本能夠更好的提高效率。

根據不同的webserver,也就是應用程式伺服器,在處理應用程式請求的時候,有些是用多執行緒而非多進程的方式,那麼由於執行緒會牽扯到共享暫存器和記憶體方面的,所以很容易出錯(考慮c語言指標的情況),那麼系統就需要時間和資源來處理暫存器中的數據,保證它們的一致性,也就是保證執行緒安全了。

所以是否使用Thread Safe(線程安全),主要看web server所採用的PHP請求處理方式,如果是多線程處理如IIS的ISAPI方式,那麼請選擇線程安全,如果是FastCGI那麼選擇非線程安全。 

最終建議:IIS下,使用ISAPI方式運行PHP,就使用Thread Safe(線程安全)的版本,使用FastCGI方式運行PHP,就使用None Thread Safe(NTS,非線程安全)的版本。

附註:php5.2沒有vc9,php5.3、php5.4沒有vc6。呵呵。 PHP5.5開始,不支援xp和win2003了,更是vc11了,呵呵呵呵。 

相關教學:PHP影片教學

#

以上是淺談PHP幾個版本的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

php的版本發展史(1995-2022) php的版本發展史(1995-2022) Jun 01, 2020 pm 01:59 PM

身為一個php學習和開發者,怎麼能不了解其歷史?以下php中文網帶領php愛好者們一起回顧下php各個歷史版本。

寶塔面板教學:PHP版本切換簡易指南 寶塔面板教學:PHP版本切換簡易指南 Mar 05, 2024 am 09:27 AM

寶塔面板是一款功能強大、使用方便的伺服器管理面板,可幫助使用者輕鬆管理網站、資料庫、FTP等服務。在使用寶塔面板的過程中,有時會需要切換PHP版本來適應不同的網站需求。本文將為大家提供一個PHP版本切換的簡易指南,同時提供具體的程式碼範例,以協助讀者快速完成PHP版本切換的操作。首先,我們需要登入寶塔面板,進入網站設定頁面。在左側導覽列找到「網站」選項,並點

寶塔面板操作指南:PHP版本切換技巧分享 寶塔面板操作指南:PHP版本切換技巧分享 Mar 04, 2024 am 10:42 AM

寶塔面板(BTPanel)是一款強大而易用的伺服器管理面板,可協助使用者輕鬆管理伺服器、網站和資料庫等服務。身為網站開發者或管理員,掌握寶塔面板中PHP版本切換的技巧十分重要。在本文中,將分享如何在寶塔面板中操作、切換PHP版本的方法,並提供具體的程式碼範例,幫助讀者更好地掌握這項技能。 1.登入寶塔面板首先,在瀏覽器中輸入伺服器IP位址或域名,加上寶塔

Eclipse中如何更新PHP版本 Eclipse中如何更新PHP版本 Mar 28, 2024 pm 09:54 PM

Eclipse是一款廣泛使用的整合開發環境(IDE),可用於開發各種程式語言的專案。在使用Eclipse開發PHP專案時,有時候需要更新PHP版本以適應新功能或修復bug。本文將介紹如何在Eclipse中更新PHP版本,並提供具體的程式碼範例。一、更新PHP版本的準備工作在更新PHP版本之前,我們需要確保已經安裝了Eclipse以及PHP的開發環境。另外,

了解PHP版本NTS的意思與重要性 了解PHP版本NTS的意思與重要性 Mar 27, 2024 pm 12:15 PM

PHP版本NTS的意義與重要性PHP(HypertextPreprocessor)是一種廣泛使用的開源伺服器端腳本語言,被用來開發動態網頁。 PHP的版本包括NTS(Non-ThreadSafe)和TS(ThreadSafe)兩種。在本文中,我們將重點討論NTS版本的含義和重要性,並提供一些具體的程式碼範例。 NTS版本是指PHP的非線程安全版本,其設計初衷

PHP函數的版本更新如何影響開發? PHP函數的版本更新如何影響開發? Apr 18, 2024 pm 02:54 PM

PHP函數版本更新的影響:新功能的影響:引入新特性,方便開發複雜任務。修復錯誤的影響:改進函數行為,提高程式碼穩定性。行為變更的影響:最具破壞性,需更新使用函數的程式碼。最佳實務:在測試環境測試更新、檢查互動程式碼、更新受影響依賴項。

怎樣處理PHP版本升級帶來的錯誤 怎樣處理PHP版本升級帶來的錯誤 May 11, 2023 am 08:48 AM

在使用PHP開發網站或應用程式時,版本升級是一項必要的工作,因為每個版本都會帶來新的功能和修復已知問題。但是,PHP版本升級也會引入新的錯誤,因為新版本可能不再支援舊版的功能或語法。在本文中,我們將介紹如何處理PHP版本升級所帶來的錯誤,以確保應用程式的正常運作。 1.備份應用程式和伺服器在進行PHP版本升級之前,必須備份應用程式和伺服器。備份應用程式可以在出

PHP7版本新功能及對小程式開發的影響 PHP7版本新功能及對小程式開發的影響 Jul 04, 2023 pm 06:15 PM

PHP7版本新功能及對小程式開發的影響隨著科技的不斷發展,網路產業也日新月異。近年來,小程式成為了行動應用程式開發的熱門話題。同時,PHP7版本的發布也成為了開發者矚目的焦點。本文將探討PHP7版本的新特性,並分析它對小程式開發的影響。一、PHP7版本新特性PHP7版本作為PHP語言的重大更新,帶來了許多新的特性與效能上的提升。以下是幾個重要的新功能:性

See all articles