PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析


Posted in PHP onMarch 28, 2011

一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好 PHP 官网提供下载的地方左边有个英文 choose 我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来做个备忘先。

一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。

二、如何选择 PHP5.3 的 Thread Safe 和 Non Thread Safe 版本

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

再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。

ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。

再来看PHP的两种执行方式:ISAPI和FastCGI。

FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二进位档有两种包装方式:msi 、zip ,请下载 zip 套件)。

而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。

所以,对于PHP5.2选择Thread Safe版本安装,而对于PHP5.3则下载None-Thread Safe,执行PHP比较有效率。

另外,PHP还有VC6,VC9版本之分。

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。

PHP 相关文章推荐
php 小乘法表实现代码
Jul 16 PHP
基于HTTP长连接的"服务器推"技术的php 简易聊天室
Oct 31 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
解析MySql与Java的时间类型
Jun 22 PHP
解析php开发中的中文编码问题
Aug 08 PHP
PHP中常用的转义函数
Feb 28 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
php+ajax导入大数据时产生的问题处理
Jun 11 PHP
PHP编程中尝试程序并发的几种方式总结
Mar 21 PHP
PhpStorm terminal无法输入命令的解决方法
Oct 09 PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 #PHP
PHP删除特定数组内容并且重建数组索引的方法.
Mar 25 #PHP
PHP学习 变量使用总结
Mar 24 #PHP
优化php效率,提高php性能的一些方法
Mar 24 #PHP
php 代码优化之经典示例
Mar 24 #PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
Mar 24 #PHP
php邮件发送,php发送邮件的类
Mar 24 #PHP
You might like
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
Yii实现简单分页的方法
2016/04/29 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
Ucren Virtual Desktop V2.0
2006/11/07 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
vue.js 获取当前自定义属性值
2017/06/01 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
vue cli构建的项目中请求代理与项目打包问题
2018/02/26 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
Python运行异常管理解决方案
2020/03/09 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
Html5新增标签有哪些
2017/04/13 HTML / CSS
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
高中政治教学反思
2014/01/18 职场文书
解除合同协议书
2014/04/17 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
红白喜事主持词
2015/07/06 职场文书
网络舆情信息简报
2015/07/21 职场文书
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android