php版本有什么不同,浅谈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几个版本的区别相关推荐
- mybatis与php,浅谈mybatis中的#和$的区别
浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...
- 浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解
浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解 本篇文章小编为大家介绍,Android onTouchEvent 与 onInterceptTo ...
- 什么是proxy服务器代理?怎么设置代理服务器?浅谈服务器代理与VPN的区别
服务器 服务器是计算机的一种,它比普通计算机运行更快.负载更高.价格更贵.服务器在网络中为其它客户机(如PC机.智能手机.ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务.服务器具有高速的C ...
- 浅谈android应用之版本特性
文章目录 1. 前言 2. 版本介绍 2.1 Android 2.2 Froyo 2.2 Android 3.0 Honeycomb 2.3 Android 4.0 Ice Cream Sandwic ...
- 浅谈机器学习-回归与分类的区别
前言 机器学习的主要任务便是聚焦于两个问题:分类和回归.本文将浅谈下两者的区别. 区别 回归会给出一个具体的结果,例如房价的数据,根据位置.周边.配套等等这些维度,给出一个房价的预测. ...
- 浅谈云计算与超融合的区别和联系
在项目设计阶段遇到了云计算和超融合的实际运用的问题,虽然自己本身不负责设计,但是对于云计算与超融合的区别也不了解,故查了一些资料,由此谈一下自己的理解,内容干干巴巴不瞎扯,不当之处欢迎交流指正. 在谈 ...
- python现在版本强势英雄_浅谈S15新赛季即将崛起的英雄,附新版本强势英雄推荐...
明天是S15新赛季,本人之前在体验服玩过一段时间,对新版本有一定的了解,在这里跟大家分享一下我对于新版本的一些看法,以及认为S15赛季即将崛起的英雄,有什么问题可以在评论区探讨. 1,边射马可强度极高 ...
- 浅谈win101809专业工作站版本激活并且获取数字权利的方法
win10专业工作站版本是win10各个版本中功能最强大的,尤其是更新到1809版本之后,更是强大到没朋友. 工作站模式:微软通过识别CPU和GPU工作量来优化系统让系统达到最高性能 ReFS文件系统 ...
- 浅谈php7 引入的“??“和 “?:“的区别
很多人在代码的编写过程中都会大量使用三目运算,原因无它,只因为这样可以是自己的代码看起来更加简洁高效!!! 不可否认,三目运算确实方便了"你,我,他".而为了使用方便php版本7 ...
最新文章
- 员工未回复群消息被罚200元,企业:符合公司规章制度
- 在Android中取得当前进程名
- DPDK — 扩展私有函数库
- 图像平滑处理(归一化块滤波、高斯滤波、中值滤波、双边滤波)
- 在SQLSERVER EXPRESS 2005中安装northwind和pubs数据库。
- 用【快餐店】理解高并发分布式架构,秒懂!
- 派生类类型可以转换为基类类型,反之则不行
- 多所高校通知:暂缓返校
- Statement returned more than one row, where no more than one was expected
- 使用pthread-win32工程编译静态库
- 怎样让一个心浮气躁的孩子静下心学习?
- 非平衡电桥电阻计算_双臂电桥(QJ44)的功能介绍与使用
- JAVA——JVM参数设置规则以及参数含义
- Javascript特效:照片墙
- 多次字符串相加一定要用StringBuilder而不用 + 吗?
- Gitlab代码库自动同步到Github
- 五、GNSS测量控制网的建立(1)
- 云服务器免费suse系统,suse系统
- linux如何进入文件编辑,Linux 文件编辑工具
- 美团java面试_2020年美团Java一面,美团面经面试流程面试题整理
热门文章
- dep文件 dsp文件 dsw文件
- 【视频】零基础neovim搭建Java IDE
- 【专题5: 硬件设计】 之 【58.案例四:简易空气净化器,高精度恒压源的设计】
- 值得把Office再重做一次
- 测试人员求职面试的时候如何谈薪酬待遇
- 两张表有不同的字段 可以用union吗
- appium ConnectionRefusedError,urllib3.exceptions.NewConnectionError,urllib3.exceptions.MaxRetryError
- python实部虚部_以 3 为实部 4 为虚部, Python 复数的表达形式为 ___________ 或 ________ 。_键盘答案_学小易找答案...
- Nexus 5刷机无限重启问题解决
- 织梦CMS5.7最新织梦有效防挂马清马,织梦漏洞修补全!2019-8-30更新