最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP多個版本的分析解釋

 更新時間:2011年07月21日 00:17:13   作者:  
最近發(fā)現(xiàn)很多PHP程序員對PHP版本知識了解不是很清楚,其中不乏PHP產品主力開發(fā)人員。

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

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

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

VC6與VC9
對于VC6還是VC9版本的選擇,PHP官方網(wǎng)站有詳細的描述
原文如下
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編譯,并且改進了性能和穩(wěn)定性。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日發(fā)布的第一個Windows版的PHP3.0.17開始的都是線程安全的版本,這是由于與Linux/Unix系統(tǒng)是采用多進程的工作方式不同的是Windows系統(tǒng)是采用多線程的工作方式。如果在IIS下以CGI方式運行PHP會非常慢,這是由于CGI模式是建立在多進程的基礎之上的,而非多線程。一般我們會把PHP配置成以ISAPI的方式來運行,ISAPI是多線程的方式,這樣就快多了。但存在一個問題,很多常用的PHP擴展是以Linux/Unix的多進程思想來開發(fā)的,這些擴展在ISAPI的方式運行時就會出錯搞垮IIS。因此在IIS下CGI模式才是 PHP運行的最安全方式,但CGI模式對于每個HTTP請求都需要重新加載和卸載整個PHP環(huán)境,其消耗是巨大的。
為了兼顧IIS下PHP的效率和安全,微軟給出了FastCGI的解決方案。FastCGI可以讓PHP的進程重復利用而不是每一個新的請求就重開一個進程。同時FastCGI也可以允許幾個進程同時執(zhí)行。這樣既解決了CGI進程模式消耗太大的問題,又利用上了CGI進程模式不存在線程安全問題的優(yōu)勢。
因此,如果是使用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配置方法,網(wǎng)上教的什么復制php.ini到windows目錄、復制xxxxx.dll到system32下,太丑陋了。
1、下載zip版本的PHP
2、下載好相應的擴展,修改好php.ini,添加模塊映射
3、環(huán)境變量里PATH加上PHP存放的目錄。只要一個就夠了,/bin和/ext不需要加。
4、環(huán)境變量里定義一個PHPRC變量,內容為PHP.INI的存放路徑。
完畢。很多文章提及需要重啟系統(tǒng),可是從我遇上的情況來看,并無必要,最多重啟web服務。

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

  1. 看了白菜(aiyooyoo.com)的修訂,IIS安裝php-cgi,3、4兩步可以省略,ISAPI方式需要。
  2. 起名叫windows下的PHP版本的講解更合適

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

相關文章

  • php中常用編輯器推薦

    php中常用編輯器推薦

    php中常用編輯器推薦...
    2007-01-01
  • PHP程序員基本要求和必備技能

    PHP程序員基本要求和必備技能

    這篇文章主要介紹了PHP程序員基本要求和必備技能,這是一篇老文章了,需要的朋友可以參考下
    2014-05-05
  • mysql,mysqli,PDO的各自不同介紹

    mysql,mysqli,PDO的各自不同介紹

    PDO,MYSQL,MYSQLI 性能哪個比較好,普通的mysql連接肯定是會被拋棄的 因為每次都要防止sql注入的問題 而且相對來說比較慢
    2012-09-09
  • 織夢模板標記簡介

    織夢模板標記簡介

    織夢模板標記簡介...
    2007-03-03
  • 拋棄 PHP 代價太高

    拋棄 PHP 代價太高

    有效率地在AWS上部署是值得學習的但是怎樣簡單的去部署git服務?為了它我是否需要額外的服務?同樣的一個實例是否可以運行多個應用?收費模型又是怎么樣的呢盡管看了他們的價格頁面,我還是不明白哪一部分跟我相關。看完他們網(wǎng)站我心里還是有一堆的問號無法找到答復。
    2016-04-04
  • 成為好程序員必須避免的5個壞習慣

    成為好程序員必須避免的5個壞習慣

    這篇文章主要介紹了成為好程序員的必須避免的5個壞習慣,寫的很好啊,小編總結,不管做什么都要總結出自己的一套東西,需要的朋友可以參考下
    2014-07-07
  • 超級全面的PHP面試題整理集合

    超級全面的PHP面試題整理集合

    php的朋友需要找工作時,有可能會遇到下面的問題
    2008-08-08
  • PHP程序員的技術成長規(guī)劃

    PHP程序員的技術成長規(guī)劃

    本文按照目前主流技術做了一個基本的梳理,整個是假設PHP程序員不是基礎非常扎實的情況進行的設定,并且所有設定都非常具體明確清晰,可能會讓人覺得不適,請理解僅代表一家之言
    2016-03-03
  • windows xp下安裝pear

    windows xp下安裝pear

    windows xp下安裝pear...
    2006-12-12
  • PHP 加密與解密的斗爭

    PHP 加密與解密的斗爭

    PHP代碼的保護一直是許多公司關注的核心問題,例如知名的一些論壇vBulletin、Discuz!、PhpWind及近日很火的ShopEx等等
    2009-04-04

最新評論

额尔古纳市| 乐山市| 澜沧| 垣曲县| 天峻县| 德惠市| 腾冲县| 金昌市| 哈尔滨市| 九寨沟县| 八宿县| 阿拉善盟| 万源市| 西安市| 英吉沙县| 上栗县| 桂东县| 南丰县| 英德市| 卫辉市| 梅州市| 黄龙县| 南部县| 广丰县| 达尔| 株洲市| 高碑店市| 西乡县| 大城县| 福泉市| 哈尔滨市| 哈巴河县| 临夏县| 庆元县| 福海县| 嵊泗县| 三河市| 阿城市| 东丰县| 湖南省| 娄底市|