手机版

PHP版本5.2.17 5.3.27 5.3.28 5.4 5.5兼容性分析的选择

时间:2021-11-04 来源:互联网 编辑:宝哥软件园 浏览:

编辑整理:小麦。

大家在选择PHP版本的时候一定很困惑。这么多版本选哪个?

问题:

现在我们买了一台新服务器,使用的是windows server 2008 r2。配置php 5.4的环境。然而,我们之前的开发是在2003年,PHP是在5.2版本。如果移植到新的服务器,会不会影响程序的运行?还是我需要注意那些问题?API版本

PHP采用大版本向后兼容的升级模式,也就是5.5兼容5.1-5.4。尽管如此,兼容性并不乐观,你不应该指望PHP官方给出什么好的解决方案。现在2013年9月,版本是5.2.17 5.3.27 5.4.17 5.5.3。

5.2.17这个版本可以说是支持面最广的版本。目前大部分开源软件都使用这个版本,比如Drupal7.23、Joomla2.5,国内大部分软件:dedecms5.7、discuzX3等。最新版本仍然支持5.2。如果没有特殊要求,安装这个版本是最省心省力的,但从长远来看最终可能会被放弃。目前很多主机厂商为了节省人工成本懒得升级PHP版本,反正基本都支持。(这里插一句,为了兼容更多的安装环境,国产软件用心良苦,连PHP5.1都可以支持(discuzX3不支持)。最难得的是它的性能并没有落后太多,所以真的不容易达到这样的极端!)Drupal6推荐这个版本。

5.3.28(推荐)虽然这个版本的名字以5开头,但很多人认为它是PHP 6.0版本的开始,性能有所提升。而且因为很多API都变了,跟5.2不是很兼容。虽然有些开源软件号称兼容5.2-5.3,但问题似乎很多,很多人干脆放弃5.2。比如Joomla3只支持5.3或以上。这个版本强烈推荐给Drupal7,支持度相当不错。这个版本也可以用于Drupal8,支持度相当不错。这个版本被广泛使用,在性能和兼容性之间取得了很好的平衡。

5.4(轻轻推荐)5.4已经基本接近整体,目前比较完善,稳定性和性能都不错。德鲁巴7。x未来会支持待升级的关键版本,但第三方模块并不完善。如果以后懒得升级,可以一步安装这个版本。

5.5从5.3开始,以后的版本基本都是性能的主要提升,功能和一切都可以向后兼容。5.5开始好像有64位版本,功能更强大。没试过,不敢说话。

如果你总结开源软件,说建议安装PHP5.3,那么你应该老老实实用5.3,而不是5.5。你可能觉得反正是兼容的,性能可能更好。为什么不用新的呢?确实如此,但是你要知道开源软件在开发的时候,通常都是在特定的环境下开发的,即使兼容了,也会出现意想不到的意外(无论团队多么强大,也不可能测试所有功能API的兼容性,这是一个可怕的工作量!),只会在特定的环境下进行测试和优化,即使知道兼容性有问题,团队也不会为了与更高版本的兼容性进行修改,不是说它们死板,而是为了安全和稳定。在开源的氛围下,我们要有一个“适可而止”而不是“最新最好”的意识。比如Joomla3.1从5月4日到5月5日都不太好用,甚至安装都不成功。然而,Drupal也在5.5.3下正常运行(本地)。我觉得是个案?但操作中似乎出现了意想不到的错误。不知道是不是版本问题。希望不会。

无线程安全或线程安全

一般Apache选择无线程安全,IIS选择后者(FAST-CGI),我就不解释了,昕哥说的没错。

我们补充一下:在2003系统中,我们通常使用isapi来加载,而在2008及以上版本中,我们使用fast-cgi。

复制代码如下:TS指的是线程安全,也就是线程安全,通常在ISAPI模式下加载IIS时选择。也就是说,通常在快速cgi模式下运行时选择的NTS无线程安全,性能更好。2000年10月20日发布的第一个Windows版本PHP3.0.17是线程安全版本,这是由于与采用多进程工作模式的Linux/Unix系统不同,Windows系统采用多线程工作模式。如果PHP在IIS下以CGI模式运行,会非常慢,因为CGI模式是基于多进程的,不是多线程的。一般PHP配置为在ISAPI模式下运行,ISAPI是多线程的,速度快很多。但是,有一个问题。很多常用的PHP扩展都是基于Linux/Unix的多进程思想开发的,这些扩展在ISAPI模式下运行会出错,会拖垮IIS。因此,CGI模式是IIS下运行PHP最安全的方式,但CGI模式需要为每个HTTP请求重新加载和卸载整个PHP环境,消耗巨大。为了兼顾IIS下PHP的效率和安全性,微软给出了一个FastCGI的解决方案。FastCGI可以重用PHP进程,而不是每次有新的请求就重新打开一个进程。同时,FastCGI可以允许多个进程同时执行。这样既解决了CGI进程模式消耗过多的问题,又利用了CGI进程模式没有线程安全问题的优势。因此,如果PHP是由ISAPI运行的,那么它必须使用线程安全的版本。在FastCGI模式下运行PHP时,不需要使用线程安全检查,使用无线程安全(NTS)版本可以更好地提高效率。

选择64位和32位。

如果你的系统是64位,选择64位;如果是32位,选择32位。辛哥,不要解释。

我们补充:很多情况下,我们不能保证在iis中需要加载的软件都是64位的,有些软件必须兼容32格式。

版权声明:PHP版本5.2.17 5.3.27 5.3.28 5.4 5.5兼容性分析的选择是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。