浅谈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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

作为一个php学习和开发者,怎能不了解其历史?下面php中文网带领php爱好者们一起回顾下php各个历史版本。

宝塔面板是一款功能强大、使用方便的服务器管理面板,可以帮助用户轻松管理网站、数据库、FTP等服务。在使用宝塔面板的过程中,有时候会需要切换PHP版本来适配不同的网站需求。本文将为大家提供一个PHP版本切换的简易指南,同时提供具体的代码示例,以帮助读者快速完成PHP版本切换的操作。首先,我们需要登录宝塔面板,进入网站设置页面。在左侧导航栏找到“网站”选项,并点

宝塔面板(BTPanel)是一款强大而易用的服务器管理面板,可以帮助用户轻松管理服务器、网站和数据库等服务。作为一名网站开发者或管理员,掌握宝塔面板中PHP版本切换的技巧十分重要。在本文中,将分享如何在宝塔面板中操作、切换PHP版本的方法,并提供具体的代码示例,帮助读者更好地掌握这一技能。1.登录宝塔面板首先,在浏览器中输入服务器IP地址或域名,加上宝塔

PHP版本NTS的含义和重要性PHP(HypertextPreprocessor)是一种广泛使用的开源服务器端脚本语言,被用于开发动态网页。PHP的版本包括NTS(Non-ThreadSafe)和TS(ThreadSafe)两种。在本文中,我们将重点讨论NTS版本的含义和重要性,并提供一些具体的代码示例。NTS版本是指PHP的非线程安全版本,其设计初衷

Eclipse是一款广泛使用的集成开发环境(IDE),可以用于开发各种编程语言的项目。在使用Eclipse开发PHP项目时,有时候需要更新PHP版本以适应新功能或者修复bug。本文将介绍如何在Eclipse中更新PHP版本,并提供具体的代码示例。一、更新PHP版本的准备工作在更新PHP版本之前,我们需要确保已经安装了Eclipse以及PHP的开发环境。另外,

在使用PHP开发网站或应用程序时,版本升级是一项必要的工作,因为每个版本都会带来新的功能和修复已知问题。但是,PHP版本升级也会引入新的错误,因为新版本可能不再支持旧版本的功能或语法。在本文中,我们将介绍如何处理PHP版本升级带来的错误,以确保应用程序的正常运行。1.备份应用程序和服务器在进行PHP版本升级之前,必须备份应用程序和服务器。备份应用程序可以在出

PHP函数版本更新的影响:新特性的影响:引入新特性,方便开发复杂任务。修复错误的影响:改进函数行为,提高代码稳定性。行为更改的影响:最具破坏性,需更新使用该函数的代码。最佳实践:在测试环境测试更新、检查交互代码、更新受影响依赖项。

PHP7版本新特性及对小程序开发的影响随着科技的不断发展,互联网行业也日新月异。近年来,小程序成为了移动应用开发的热点话题。与此同时,PHP7版本的发布也成为了开发者们瞩目的焦点。本文将探讨PHP7版本的新特性,并分析它对小程序开发的影响。一、PHP7版本新特性PHP7版本作为PHP语言的重大更新,带来了许多新的特性和性能上的提升。以下是几个重要的新特性:性
