简短介绍一下,PHP版本的区分

从3000年5月十四日公布的率先个Windows版的PHP3.0.17开端的都以线程安全的本子,那是出于与Linux/Unix系统是运用
多进程的职业形式各异的是Windows系统是行使十六线程的做事方法。假若在IIS下以CGI格局运转PHP会比非常的慢,那是出于CGI形式是确立在多进程的基础之上的,而非二十四线程。一般大家会把PHP配置成以ISAPI的艺术来运作,ISAPI是三十二线程的不二秘技,那样就快多了。但存在多少个标题,很多常用的
PHP扩充是以Linux/Unix的多进度思想来支付的,这几个增添在ISAPI的法子运维时就能够出错搞垮IIS。而用线程安全版本的话顶四只是搞跨有些线程,而不会潜移暗化到一切IIS的海东。

怎么样是线程安全与非线程安全?

线程安全正是在三十二线程意况下也不晤面世数量不均等,而非线程安全就有十分大大概出现数量区别样的情状。

线程安全由于要保险数据的一致性,所以对财富的读写实行了决定,换句话说扩展了系统开垦。所以在单线程境遇中功能比非线程安全的频率要低些,可是若是线程间数占领关,供给确定保障读写顺序,用线程安全格局

本条第一是针对性web server 来说,在windows景况下,要是你利用的web server
是apchae 也许 iis
7以下版本,则应当接纳线程安全的安装文件,而若是你使用法斯特-cgi格局时,能够采取非线程安全,因为
web sever 自己能确认保障线程安全。
简短介绍一下,PHP版本的区分。理之当然还会有二进制文件编写翻译时所接纳的编写翻译器:vc9 (vs体系) vc6(gcc)

如楼上所言,是针对性web server的,部分web
server在拍卖利用哀告的时候是用三二十四线程而非多进程的点子管理,线程格局因为涉嫌到分享寄存器和内部存款和储蓄器,所以很轻巧出错,这个时候程序就须求花一些额外的经验去管理贮存器中的数据一致性,即确认保障线程安全。
由此是或不是利用线程安全首要看您的web
server所使用的PHP央求管理格局,假设是三四线程管理,那么请选用线程安全的,不然采纳非线程安全的,如楼上所说法斯特-cgi格局可挑选非线程安全的

先从字面意思上知道,None-Thread
Safe就是非线程安全,在奉行时不举办线程(thread)安检;Thread
Safe正是线程安全,施行时会实行线程(thread)安检,以免卫有新供给就运营新线程的
CGI 试行格局耗尽系统财富。

再来看PHP的二种实施格局:ISAPI和FastCGI。FastCGI试行办法是以单一线程来实践操作,所以没有要求开始展览线程的平安全检查查,除去线程安全检查的防护反而能够增加试行效能,所以,固然是以
法斯特CGI(无论搭配 IIS 6 或 IIS 7)实行 PHP ,都建议下载、实施 non-thread
safe 的 PHP (PHP 的二進位檔有兩種包裝格局:msi 、zip ,請下載 zip
套件)。而线程安检正是为ISAPI格局的PHP打算的,因为有比较多php模块都不是线程安全的,所以要求选取Thread
Safe的PHP。

谈到那边,大家应该清楚应该怎么挑选哪个版本的PHP了。None-Thread Safe or
Thread Safe,您会接纳哪位?

Windows下的PHP现在的版本已经是5.3.6,今后的Windows版本可以在PHP官方PHP
For
Windows(
x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6
x86 Thread Safe等七个版本。那么这几个本子有如何分别吧?

VC9的版本是用legacy VS 2010编写翻译的,VC6的版本是用legacy VS6编写翻译的。

只要您是在windows下使用IIS+PHP的话,你要求下载VC9的本子。
设若您是在windows下使用Apache+PHP的话,你须要下载VC6的本子。

Non Thread Safe是指非线程安全,Thread Safe则是指线程安全。

万一是采纳ISAPI的点子来运行PHP就务须用Thread
Safe(线程安全)的本子;而用法斯特CGI情势运营PHP的话就从不必要用线程安检了,用None
Thread Safe(NTS,非线程安全)的本子能够越来越好的提升效能。

 

初稿:PHP版本的界别

认为那一个已经写过了,发现未有,赶紧补充下。

自然在IIS下CGI形式才是
PHP运转的最安全方式,但CGI形式对于每一个HTTP请求都亟待重新加载和卸载整个PHP情况,其消耗是大侠的。为了兼顾IIS下PHP的效能和安全,
有人给出了法斯特CGI的消除方案。法斯特CGI能够让PHP的历程重复使用并不是每三个新的伸手就重开二个历程。同期法斯特CGI也能够允许几个进度同期实践。那样既解决了CGI进度情势消耗太大的难题,又选择上了CGI进程情势不设有线程安全难点的优势。

什么推断:

透过phpinfo(); 查看里面包车型大巴 Thread Safety
项,那个项目就是查看是不是是线程安全,假如是:enabled,一般的话应该是ts版,不然是nts版。

 

from:

感觉这一个曾经写过了,发掘并未,赶紧补充下。

澳门葡京备用网址 ,PHP的版本,自从走入5之后,发表新本子速度显明提高广大,从PHP5.2开首,5.3
、5.4 、5.5,就将在6.0了。

就此,假如是选用ISAPI的方法来运营PHP就亟须用Thread
Safe(线程安全)的本子;而用法斯特CGI情势运维PHP的话就不需求用线程安检了,用None
Thread Safe(NTS,非线程安全)的本子能够越来越好的提高成效。

PHP的版本,自从步入5现在,发表新本子速度分明提高广大,从PHP5.2初始,5.3
、5.4 、5.5,就将在6.0了。

注:ecshop用户请自觉运用php5.2.17版本。呵呵。

于是,假如是选择ISAPI的措施来运转PHP就非得用Thread
Safe(线程安全)的本子;而用法斯特CGI形式运营PHP的话就没有要求用线程安检了,用None
Thread Safe(NTS,非线程安全)的版本可以越来越好的进步效能。

注:ecshop用户请自觉使用php5.2.17版本。呵呵。

在php官方网站下载php时,我们会发觉有vc6、vc9的分别,那是哪些意思吧?

附:德问相关主题素材摘录

在php官方网站下载php时,大家会发觉有vc6、vc9的区分,那是何许意思啊?

VC6是legacy Visual Studio 6
compiler,使用这些版本的编写翻译器编写翻译PHP代码的,使用apache做应用程序服务器,则选拔vc6。

下载PHP安装文件时,小编看来有两种分歧的二进制文件,疑似非线程安全(Non
Thread Safe)和线程安全(Thread
Safe),比如该页面所列:

VC6是legacy Visual Studio 6
compiler,使用这么些本子的编写翻译器编写翻译PHP代码的,使用Apache做应用程序服务器,则选拔vc6。

VC9是the Visual Studio 2009compiler,正是用微软的VS编辑器编写翻译的。使用IIS做应用程序服务器,则采纳vc9。

以此主假诺对准web server 来讲,在windows情形下,倘若您利用的web server
是apchae 也许 iis
7以下版本,则应该选用线程安全的安装文件,而要是您使用法斯特-cgi情势时,能够选用非线程安全,因为
web sever 本人能担保线程安全。
本来还会有二进制文件编写翻译时所选择的编写翻译器:vc9 (vs种类) vc6(gcc)

VC9是the Visual Studio 二零一零compiler,正是用微软的VS编辑器编写翻译的。使用IIS做应用程序服务器,则选拔vc9。

那么,我们注意到,php-5.2.17-nts-Win32-VC6-x86.zip
php的解压文件中,有nts和未有nts的界别,那几个又是如何看头呢?

如楼上所言,是本着web server的,部分web
server在管理利用伏乞的时候是用二十多线程而非多进度的办法管理,线程情势因为涉嫌到分享贮存器和内部存储器,所以很轻易失误,这年程序就供给花一些卓殊的经验去管理寄放器中的数据一致性,即确定保证线程安全。
所以是还是不是选拔线程安全第一看你的web
server所运用的PHP诉求管理方式,假设是八线程管理,那么请选取线程安全的,不然选拔非线程安全的,如楼上所说法斯特-cgi方式可挑选非线程安全的

那么,大家注意到,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,非线程安全)

您恐怕感兴趣的篇章:

  • 深深深入分析PHP垃圾回收机制对内部存款和储蓄器败露的拍卖
  • PHP
    线程安全与非线程安全版本的界别深切剖析
  • 落实PHP四线程异步必要的3种办法
  • 深刻分析PHP中的(伪)十六线程与多进程
  • PHP线程的内部存款和储蓄器回收难题

那要从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,非线程安全)之分,这两侧不一致在于何处?到底应该用哪类?这里做一个轻巧的牵线。

Windows版的PHP从版本5.2.1起来有Thread Safe(线程安全)和None Thread
Safe(NTS,非线程安全)之分,那多头差异在于何处?到底应该用哪类?这里做叁个大致的介绍。

从三千年1五月25日发布的第三个Windows版的PHP3.0.17初阶的都是线程安全的版本,那是因为Linux/Unix系统是选用多进度的做事章程,而Windows系统是运用三十二线程的做事措施。假若在IIS下以CGI格局运营PHP会非常的慢,因为CGI情势创建在多进程的底蕴之上,实际不是八线程。大家在windows上会把PHP配置成以ISAPI的不二等秘书技来运作,因为ISAPI是八线程的方式,那样就快多了。

从贰仟年7月19日颁发的首先个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景况,其消耗是巨大的。

但存在多个主题素材,非常多常用的PHP扩张是以Linux/Unix的多进程思想来开拓的,那么些扩张在ISAPI的措施运维时就能出错,很也许将IIS进程搞崩溃,由此对此IIS来讲,CGI情势才是PHP运营的最安全的格局,只不过CGI情势对于每一种HTTP哀告都亟需再一次加载和卸载整个PHP遇到,其消耗是惊天动地的。

为了兼顾IIS下PHP的频率和安全,微软提交了FastCGI的消除方案。法斯特CGI能够让PHP的经过重复利用并不是每二个新的呼吁就重开二个进度。同有的时候候法斯特CGI也能够允许多少个经过同期施行。那样既化解了CGI进度方式消耗太大的难点,又接纳上了CGI进度方式不真实线程安全主题材料的优势。

为了兼顾IIS下PHP的频率和平安,微软交付了法斯特CGI的减轻方案。FastCGI可以让PHP的长河重复使用实际不是每八个新的伸手就重开三个进度。同一时候法斯特CGI也得以允许多少个进程同期实施。那样既减轻了CGI进度形式消耗太大的主题材料,又利用上了CGI进度方式荒诞不经线程安全主题材料的优势。

故而,倘诺是应用ISAPI的秘诀来运作PHP就必须用Thread
Safe的版本;而用法斯特CGI情势运维PHP的话就不曾供给用线程安检了,用None
Thread Safe(NTS,非线程安全)的版本能够越来越好的进步功能。

由此,如若是选择ISAPI的点子来运作PHP就亟须用Thread
Safe(线程安全)的本子;而用法斯特CGI情势运转PHP的话就从未有过须求用线程安检了,用None
Thread Safe(NTS,非线程安全)的本子能够越来越好的进步功能。

基于不相同的webserver,也便是应用程序服务器,在处理利用央浼的时候,有个别是用多线程而非多进程的主意,那么由于线程会牵扯到分享寄放器和内部存款和储蓄器方面的,所以很轻便出错(思量c语言指针的动静),那么系统就必要时日和财富来管理贮存器中的数据,保障它们的一致性,也正是保证线程安全了。

听大人讲分裂的webserver,相当于应用程序服务器,在拍卖利用央浼的时候,有个别是用八线程而非多进程的章程,那么由于线程会牵扯到分享存放器和内部存款和储蓄器方面包车型大巴,所以很轻松失误(考虑c语言指针的场馆),那么系统就要求时日和财富来拍卖贮存器中的数据,保障它们的一致性,也正是保险线程安全了。

故而是还是不是选取Thread Safe,重要看web
server所选用的PHP须求管理格局,借使是二十十六线程处理如IIS的ISAPI格局,那么请选用线程安全,假诺是法斯特CGI那么采取非线程安全。

所以是还是不是利用Thread Safe(线程安全),首要看web
server所利用的PHP诉求管理方式,要是是八线程管理如IIS的ISAPI格局,那么请选用线程安全,假若是法斯特CGI那么采取非线程安全。

最终建议:IIS下,使用ISAPI形式运营PHP,就选用Thread
Safe的本子,使用FastCGI方式运维PHP,就动用None Thread
Safe(NTS,非线程安全)的本子。

最后建议:IIS下,使用ISAPI格局运维PHP,就动用Thread
Safe(线程安全)的版本,使用法斯特CGI情势运转PHP,就选取None Thread
Safe(NTS,非线程安全)的版本。

注:php5.2没有vc9,php5.3、php5.4未有vc6。呵呵。PHP5.5开首,不帮助xp和win2002了,更是vc11了,呵呵呵呵。

注:php5.2未有vc9,php5.3、php5.4未有vc6。呵呵。PHP5.5初阶,不扶助xp和win2000了,更是vc11了,呵呵呵呵。

貌似的话,我爱好使用解压配置版本,更能领悟PHP的设置和文书。有c语言基础的同仁能够下载源码看看,说不定更有所心得。

作者:weixin_43144260
来源:CSDN
原文:
版权评释:本文为博主原创小说,转发请附上海博物院文链接!

诚如的话,小编欢腾使用解压配置版本,更能通晓PHP的安装和文书。有c语言基础的同人能够下载源码看看,说不定更有所心得。


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website