一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP多個版本的分析解釋

PHP多個版本的分析解釋

2019-12-07 15:33PHP教程網 PHP教程

最近發現很多PHP程序員對PHP版本知識了解不是很清楚,其中不乏PHP產品主力開發人員。

PHP版本主要分三支:PHP4/PHP5/PHP6
其中,PHP4由于太古老、對OO支持不力已基本被淘汰,就不在詳述。
而PHP6由于基本沒有生產線上的應用,還基本只是一款概念產品,所以也不詳述。

PHP5的版本主要分三支:PHP5.2之前的版本、PHP5.2.X和PHP5.3
那我們應該如何選擇適用自己項目的版本呢?
PHP5.2之前的版本不值得考慮,因為某些功能缺陷或者BUG。
主流PHP程序對PHP5.2.X的兼容性最好,而每次版本號的升級帶來的都是安全性和穩定性的改善,所以宜挑選最新的版本。目前PHP5.2系列最新的是PHP5.2.14
而如果產品是自己開發自己使用,PHP5.3在某些方面更具優勢,在穩定性上更勝一籌,增加了很多PHP5.2所不具有的功能,比如內置php-fpm、更完善的垃圾回收算法、命名空間的引入、sqlite3的支持等等,是部署項目值得考慮的版本。

除了版本號的不同,同一版本號的PHP版本也有區別,并且在選擇PHP擴展的時候需要注意。

VC6與VC9
對于VC6還是VC9版本的選擇,PHP官方網站有詳細的描述
原文如下
Which version do I choose?
If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP
If you are using PHP with IIS you should use the VC9 versions of PHP
VC6 Versions are compiled with the legacy Visual Studio 6 compiler
VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed
Do NOT use VC9 version with apache.org binarieshttp://dev.meettea.com

我該選擇哪個版本?
如果你在apache1或者apache2下使用PHP,你應該選擇VC6的版本
如果你在IIS下使用PHP應該選擇VC9的版本
VC6的版本使用visual studio6編譯
VC9使用Visual Studio 2008編譯,并且改進了性能和穩定性。VC9版本的PHP需要你安裝Microsoft 2008 C++ Runtime
不要在apache下使用VC9的版本

TS和NTS
TS指Thread Safety,即線程安全,一般在IIS以ISAPI方式加載的時候選擇這個版本。
NTS即None-Thread Safe,一般以fast cgi方式運行的時候選擇這個版本,具有更好的性能。
下面給點資料,來源于 http://koda.javaeye.com/blog/662034
從2000年10月20日發布的第一個Windows版的PHP3.0.17開始的都是線程安全的版本,這是由于與Linux/Unix系統是采用多進程的工作方式不同的是Windows系統是采用多線程的工作方式。如果在IIS下以CGI方式運行PHP會非常慢,這是由于CGI模式是建立在多進程的基礎之上的,而非多線程。一般我們會把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,非線程安全)的版本能夠更好的提高效率。


如何查看當前運行的PHP的版本?一個很簡單的辦法就是phpinfo();
Thread Safety disabled是NTS,enabled是TS
Configure Command看到VC98字樣的是VC6,Compiler標明 MSVC9 (Visual C++ 2008) 的是VC9

另外,順帶講講windows下比較簡潔方便的PHP配置方法,網上教的什么復制php.ini到windows目錄、復制xxxxx.dll到system32下,太丑陋了。
1、下載zip版本的PHP
2、下載好相應的擴展,修改好php.ini,添加模塊映射
3、環境變量里PATH加上PHP存放的目錄。只要一個就夠了,/bin和/ext不需要加。
4、環境變量里定義一個PHPRC變量,內容為PHP.INI的存放路徑。
完畢。很多文章提及需要重啟系統,可是從我遇上的情況來看,并無必要,最多重啟web服務。

如果你是linux下用,就無視本文吧。
修訂: 2010-11-03

看了白菜(aiyooyoo.com)的修訂,IIS安裝php-cgi,3、4兩步可以省略,ISAPI方式需要。

起名叫windows下的PHP版本的講解更合適

At Last,近期思考了很多東西,若整理成文又欠缺深度和力度,還需厚積薄發。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品日产1区2卡三卡麻豆 | 欧美日韩视频在线第一区二区三区 | 国产精品片| 国产传媒在线播放 | 高h辣文小说网 烧书阁 | 国产成人综合亚洲一区 | 亚洲免费色 | 成功精品影院 | 啪一啪日一日 | 亚洲国产精品免费在线观看 | 国产精品夜夜爽张柏芝 | 久久精品中文騷妇女内射 | 日本五级床片全都免费播放 | 小小水蜜桃视频高清在线播放 | 免费网站看v片在线成人国产系列 | 久久精品国产在热亚洲 | 日本高清色视频www 日本高清免费观看 | 大陆日韩欧美 | 女同学用白丝脚玩我的故事 | 我要看靠逼片 | 国语自产自拍秒拍在线视频 | 国内精品久久久久香蕉 | 精品国产国产精2020久久日 | 亚洲国产第一区二区香蕉日日 | 日韩国产成人 | 国产综合亚洲欧美日韩一区二区 | 亚洲国产福利精品一区二区 | 精品国产原创在线观看视频 | 欧美成人tv在线观看免费 | 成人在线视频在线观看 | 久久久无码精品亚洲欧美 | 国产亚洲综合久久 | 青久久| 午夜影院免费入口 | 久久午夜夜伦痒痒想咳嗽P 久久无码AV亚洲精品色午夜麻豆 | 99精品热 | 国产永久免费视频m3u8 | 桃乃木香奈作品在线 | 国产精品嫩草影院在线看 | 日本激情在线 | 日日操日日舔 |