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 读取shell管道传输过来的内容
Mar 01 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
PHP 第三节 变量介绍
Apr 28 PHP
ThinkPHP模版引擎之变量输出详解
Dec 05 PHP
PHP中Enum(枚举)用法实例详解
Dec 07 PHP
PHP登录(ajax提交数据和后台校验)实例分享
Dec 29 PHP
php操作access数据库的方法详解
Feb 22 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
Laravel下生成验证码的类
Nov 15 PHP
php unlink()函数使用教程
Jul 12 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 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缓存的详解
2013/05/15 PHP
PHP简单选择排序算法实例
2015/01/26 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
javascript中Function类型详解
2015/04/28 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
Node.js EventEmmitter事件监听器用法实例分析
2019/01/07 Javascript
pycharm 使用心得(五)断点调试
2014/06/06 Python
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
python中的字符串内部换行方法
2018/07/19 Python
Django中的ajax请求
2018/10/19 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
详解HTML5新增标签
2017/11/27 HTML / CSS
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
实习老师个人总结的自我评价
2013/09/28 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
《废话连篇——致新手》——chinapizza
2022/04/05 无线电