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 图片上添加透明度渐变的效果
Jun 29 PHP
php中autoload的用法总结
Nov 08 PHP
PHP生成二维码的两个方法和实例
Jul 01 PHP
php常用数学函数汇总
Nov 21 PHP
php计算两个文件相对路径的方法
Mar 14 PHP
php将12小时制转换成24小时制的方法
Mar 31 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
php时间计算相关问题小结
May 09 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
php curl中gzip的压缩性能测试实例分析
Nov 08 PHP
静态html文件执行php语句的方法(推荐)
Nov 21 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 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正则的Unknown Modifier错误解决方法
2010/03/02 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
Javascript hasOwnProperty 方法 & in 关键字
2008/11/26 Javascript
基于JQuery的cookie插件
2010/04/07 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
python实现sublime3的less编译插件示例
2014/04/27 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
python适合人工智能的理由和优势
2019/06/28 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
PyChon中关于Jekins的详细安装(推荐)
2020/12/28 Python
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
岗位说明书范文
2014/05/07 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
低碳环保口号
2014/06/12 职场文书
学校教学管理制度
2015/08/06 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
MySQL分区路径子分区再分区
2022/04/13 MySQL