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 获取本机外网/公网IP的代码
May 09 PHP
PHP操作XML作为数据库的类
Dec 19 PHP
PHP实现时间轴函数代码
Oct 08 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
php不写闭合标签的好处
Mar 04 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
Aug 20 PHP
php中文字符串截取方法实例总结
Sep 30 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
php 常用的系统函数
Feb 07 PHP
PHP实现重载的常用方法实例详解
Oct 18 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生成局部唯一识别码LUID的代码
2012/10/06 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
Django实现发送邮件功能
2019/07/18 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
财务经理岗位职责
2013/11/09 职场文书
大学生就业推荐信范文
2013/11/29 职场文书
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
会计电算化实训报告
2014/11/04 职场文书
出差报告格式模板
2014/11/06 职场文书
2015年人事科工作总结
2015/04/28 职场文书
投标售后服务承诺书
2015/04/29 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers