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 disk_free_space 返回目录可用空间
May 10 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
php准确获取文件MIME类型的方法
Jun 17 PHP
php简单防盗链实现方法
Jul 29 PHP
十大使用PHP框架的理由
Sep 26 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
orm获取关联表里的属性值
Apr 17 PHP
PHP数组函数知识汇总
May 12 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
Feb 15 PHP
php定期拉取数据对比方法实例
Sep 22 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 高手之路(二)
2006/10/09 PHP
php汉字转拼音的示例
2014/02/27 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
2017/02/04 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
ExpressJS入门实例
2015/01/14 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
python实现图片处理和特征提取详解
2017/11/13 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
实例详解Python装饰器与闭包
2019/07/29 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
巡警年度自我鉴定
2014/02/21 职场文书
消防安全责任书
2014/04/14 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python