欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP版本的選擇5.2.17 5.3.27 5.3.28 5.4 5.5兼容性問(wèn)題分析

 更新時(shí)間:2016年04月04日 12:59:01   作者:五月麥子  
大家在選擇PHP版本時(shí)一定很困惑,有這么多版本究竟選那個(gè)呢,這篇文章是麥子同學(xué)整理的,大家可以參考下

編輯整理:麥子

大家在選擇PHP版本時(shí)一定很困惑,有這么多版本究竟選那個(gè)呢?

問(wèn)題:

我們現(xiàn)在新買(mǎi)了個(gè)服務(wù)器,用的是windows server 2008 r2。配置php 5.4的環(huán)境。
但我們之前開(kāi)發(fā)的用2003,php是用5.2版本的,移植到新服務(wù)器,程序運(yùn)行會(huì)有影響嗎?或者我還需要注意那些問(wèn)題?
API版本

PHP采用大版本向下兼容的升級(jí)方式,也就是說(shuō)5.5兼容5.1-5.4,話雖如此,實(shí)際上兼容性并不樂(lè)觀,大家也不要指望PHP官方會(huì)給出什么好的解決辦法。現(xiàn)在2013年9月,版本有5.2.17 5.3.27 5.4.17 5.5.3

5.2.17
這一版本可以說(shuō)是支持最廣泛的版本了,現(xiàn)在還有絕大部分開(kāi)源軟件使用該版本,例如Drupal7.23,Joomla2.5,國(guó)內(nèi)絕大多數(shù)軟件:dedecms5.7,discuzX3等等最新版還在支持5.2,如果沒(méi)特別要求,安裝這一版本是最省心省力的,但長(zhǎng)遠(yuǎn)來(lái)看可能終要被拋棄?,F(xiàn)在許許多多的主機(jī)商為了省人力成本也懶得去升級(jí)PHP版本,反正基本上都支持。(這里插一句,現(xiàn)在國(guó)內(nèi)軟件為了兼容更多的安裝環(huán)境,可謂用心良苦,甚至PHP5.1也能支持(discuzX3不支持),最難得的是性能竟然也沒(méi)落后多少,能做到如些極致真心不容易?。〥rupal6建議使用該版本。

5.3.28(推薦)
這個(gè)版本雖然名稱上是5開(kāi)頭,但很多人認(rèn)為是PHP6.0版本的開(kāi)始,性能有所提升,而且因?yàn)樵S多API都發(fā)生了變化,對(duì)5.2的兼容不太好,雖然有一部分開(kāi)源軟件聲稱能兼容5.2-5.3,但問(wèn)題好像也不少,許多索性就放棄5.2了,例如Joomla3只支持5.3以上。而對(duì)于Drupal7強(qiáng)烈建議使用該版本,支持相當(dāng)好。而對(duì)于Drupal8也可以使用該版本,支持也相當(dāng)不錯(cuò)。該版本使用范圍非常廣,在兼顧性能和兼容性之間做出一個(gè)不錯(cuò)的平衡點(diǎn)。

5.4(輕輕推薦)
5.4基本上已經(jīng)接近完整體了,現(xiàn)時(shí)比較完善,穩(wěn)定性和性能也不錯(cuò),未來(lái)升級(jí)的重點(diǎn)版本,Drupal7.X對(duì)其支持尚可,但第三方模塊還不太完美。如果懶得以后升級(jí),可以一步到位安裝該版本。

5.5
從5.3開(kāi)始,以后版本基本上都是主打性能上的提升,函數(shù)什么的都能向后兼容。5.5開(kāi)始好像有了64位版本,性能更加強(qiáng)勁,我沒(méi)試過(guò),不敢發(fā)表言論。

總結(jié)
如果開(kāi)源軟件說(shuō)建議安裝PHP5.3,那你就老老實(shí)實(shí)用5.3,別用5.5什么的,你可能認(rèn)為反正都能兼容,性能可能更好,為什么不用新的呢?話是這么說(shuō),但你知道開(kāi)源軟件在開(kāi)發(fā)的時(shí)候一般都是在特定的環(huán)境開(kāi)發(fā),就算兼容再好也會(huì)有想不到的意外(再?gòu)?qiáng)大的隊(duì)伍也不可能對(duì)所有函數(shù)API進(jìn)行兼容測(cè)試,那是相當(dāng)可怕的工作量!),它只會(huì)在特定的環(huán)境下進(jìn)行測(cè)試和優(yōu)化,而且就算知道兼容有問(wèn)題,團(tuán)隊(duì)也不會(huì)去為了兼容更高版本去修改,不是他們死板,而是為了安全和穩(wěn)定來(lái)考慮的。在開(kāi)源氛圍下,我們應(yīng)該有個(gè)意識(shí)就是“夠用就是最好”,而不是“最新是最好”。舉個(gè)列子,Joomla3.1在5.4-5.5都運(yùn)行不良,甚至安裝不能成功。但Drupal卻在5.5.3下也運(yùn)行正常(本機(jī)),我想是個(gè)別案例吧?但好像運(yùn)行中出現(xiàn)過(guò)意料之外的錯(cuò)誤,不知道是不是版本的問(wèn)題,希望不是。

None-thread-safe or thread-safe

Apache 一般選 none-thread-safe,IIS選后者(FAST-CGI),我就不解釋了,信哥就沒(méi)錯(cuò)。

腳本之家小編補(bǔ)充一下: 2003系統(tǒng)中,我們一般用isapi加載,如果是2008及以上系統(tǒng)用fast-cgi方式。

復(fù)制代碼 代碼如下:

TS指Thread Safety,即線程安全,一般在IIS以ISAPI方式加載的時(shí)候選擇這個(gè)版本。
NTS即None-Thread Safe,一般以fast cgi方式運(yùn)行的時(shí)候選擇這個(gè)版本,具有更好的性能。

從2000年10月20日發(fā)布的第一個(gè)Windows版的PHP3.0.17開(kāi)始的都是線程安全的版本,這是由于與Linux/Unix系統(tǒng)是采用多進(jìn)程的工作方式不同的是Windows系統(tǒng)是采用多線程的工作方式。如果在IIS下以CGI方式運(yùn)行PHP會(huì)非常慢,這是由于CGI模式是建立在多進(jìn)程的基礎(chǔ)之上的,而非多線程。一般我們會(huì)把PHP配置成以ISAPI的方式來(lái)運(yùn)行,ISAPI是多線程的方式,這樣就快多了。但存在一個(gè)問(wèn)題,很多常用的PHP擴(kuò)展是以Linux/Unix的多進(jìn)程思想來(lái)開(kāi)發(fā)的,這些擴(kuò)展在ISAPI的方式運(yùn)行時(shí)就會(huì)出錯(cuò)搞垮IIS。因此在IIS下CGI模式才是 PHP運(yùn)行的最安全方式,但CGI模式對(duì)于每個(gè)HTTP請(qǐng)求都需要重新加載和卸載整個(gè)PHP環(huán)境,其消耗是巨大的。

為了兼顧IIS下PHP的效率和安全,微軟給出了FastCGI的解決方案。FastCGI可以讓PHP的進(jìn)程重復(fù)利用而不是每一個(gè)新的請(qǐng)求就重開(kāi)一個(gè)進(jìn)程。同時(shí)FastCGI也可以允許幾個(gè)進(jìn)程同時(shí)執(zhí)行。這樣既解決了CGI進(jìn)程模式消耗太大的問(wèn)題,又利用上了CGI進(jìn)程模式不存在線程安全問(wèn)題的優(yōu)勢(shì)。

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

64位和32位的選擇問(wèn)題

你的系統(tǒng)是64位就選64位,是32位就選32位,不解釋,信哥。

腳本之家小編補(bǔ)充:很多情況下我們不能保證我們所有需要iis中加載的軟件都是64位的,有些軟件還必須用32格式兼容跑。

相關(guān)文章

  • 服務(wù)器web工具 php環(huán)境下

    服務(wù)器web工具 php環(huán)境下

    服務(wù)器web工具,這里都是一些php環(huán)境中,經(jīng)常用到的一些性能優(yōu)化加速軟件。
    2010-12-12
  • 手把手教你使用DedeCms的采集的圖文教程

    手把手教你使用DedeCms的采集的圖文教程

    手把手教你使用DedeCms的采集的圖文教程...
    2007-03-03
  • 拋棄 PHP 代價(jià)太高

    拋棄 PHP 代價(jià)太高

    有效率地在AWS上部署是值得學(xué)習(xí)的但是怎樣簡(jiǎn)單的去部署git服務(wù)?為了它我是否需要額外的服務(wù)?同樣的一個(gè)實(shí)例是否可以運(yùn)行多個(gè)應(yīng)用?收費(fèi)模型又是怎么樣的呢盡管看了他們的價(jià)格頁(yè)面,我還是不明白哪一部分跟我相關(guān)??赐晁麄兙W(wǎng)站我心里還是有一堆的問(wèn)號(hào)無(wú)法找到答復(fù)。
    2016-04-04
  • PHP中的CMS的涵義

    PHP中的CMS的涵義

    PHP中的CMS的涵義...
    2007-03-03
  • mysql,mysqli,PDO的各自不同介紹

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

    PDO,MYSQL,MYSQLI 性能哪個(gè)比較好,普通的mysql連接肯定是會(huì)被拋棄的 因?yàn)槊看味家乐箂ql注入的問(wèn)題 而且相對(duì)來(lái)說(shuō)比較慢
    2012-09-09
  • ADODB的數(shù)據(jù)庫(kù)封包程序庫(kù)

    ADODB的數(shù)據(jù)庫(kù)封包程序庫(kù)

    ADODB的數(shù)據(jù)庫(kù)封包程序庫(kù)...
    2006-12-12
  • PHP 加密與解密的斗爭(zhēng)

    PHP 加密與解密的斗爭(zhēng)

    PHP代碼的保護(hù)一直是許多公司關(guān)注的核心問(wèn)題,例如知名的一些論壇vBulletin、Discuz!、PhpWind及近日很火的ShopEx等等
    2009-04-04
  • PHP程序員基本要求和必備技能

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

    這篇文章主要介紹了PHP程序員基本要求和必備技能,這是一篇老文章了,需要的朋友可以參考下
    2014-05-05
  • PHP.vs.JAVA

    PHP.vs.JAVA

    php在諸多方面都不如java優(yōu)異,那么php開(kāi)發(fā)出的oa產(chǎn)品何以與java產(chǎn)品競(jìng)爭(zhēng)呢?在于Php陣營(yíng)普遍走的是低端路線,而java陣營(yíng)走的是中高端路線。兩者之間交叉的區(qū)域較小。
    2016-04-04
  • PH P5.2至5.5、5.6的新增功能詳解

    PH P5.2至5.5、5.6的新增功能詳解

    本文將會(huì)介紹自 PHP5.2 起,直至 PHP5.6 中增加的新特征,需要的朋友可以參考下
    2014-07-07

最新評(píng)論