php非线程安全与线程安全版本的选择技巧

从php5.2.10版本开始(现在有php5.2.10和5.3两个版本),有none-thread safe与thread safe两种版本的可供选择,这两种版本有何不同,作为使用者来说又应该如何选择呢?下面聚友将为您讲述。
从php5.2.10版本开始(现在有php5.2.10和5.3两个版本),有none-thread safe与thread safe两种版本的可供选择,这两种版本有何不同,作为使用者来说又应该如何选择呢?下面聚友将为您讲述。

先从字面意思上理解,none-thread safe就是非线程安全,在执行时不进行线程(thread)安全检查;thread safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 cgi 执行方式耗尽系统资源。

再来看php的两种执行方式:isapi和fastcgi。fastcgi执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 fastcgi(无论搭配 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的版本更新很快,最新的是php7了已经,现在的windows版本可以在php官方php for windows(http://windows.php.net/download/)下载,下载的时候同版本有vc9 x86 non thread safe、vc9 x86 thread safe、vc6 x86 non thread safe、vc6 x86 thread safe等四个版本。那么这些版本有什么区别呢?

vc9的版本是用legacy vs 2008编译的,vc6的版本是用legacy vs6编译的。

如果你是在windows下使用iis+php的话,你需要下载vc9的版本。
如果你是在windows下使用apache+php的话,你需要下载vc6的版本。

non thread safe是指非线程安全,thread safe则是指线程安全。

如果是使用isapi的方式来运行php就必须用thread safe(线程安全)的版本;而用fastcgi模式运行php的话就没有必要用线程安全检查了,用none thread safe(nts,非线程安全)的版本能够更好的提高效率。

这样一来,如何选择您适用的php版本就迎刃而解了,去下载适合您系统的php吧。

希望这篇php非线程安全与线程安全版本的选择技巧的文章能够对您有所帮助,如果您觉得这篇网站维护教程有用的话,别忘了推荐给您的朋友哦!如果您有好的经验方法,不妨拿出来和大家一起分享:假如每个人都拿出一个经验,那么我们都将额外的获取一堆他人的经验。

‘).addclass(‘pre-numbering’).hide();
$(this).addclass(‘has-numbering’).parent().append($numbering);
for (i = 1; i

Posted in 未分类

发表评论