PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解


Posted in PHP onApril 26, 2013

VC6:legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9:Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
由于apache.org只提供VC6的版本,所以使用原版apache时只能使用VC6。(www.apachelounge.com上有apache VC9的版本提供,应该可以和PHP VC9配合,没用过)
TS:Thread Safe 线程安全, 执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源
NTS:Non Thread Safe 非线程安全, 在执行时不进行线程(Thread)安全检查
PHP的两种执行方式:ISAPI和FastCGI。
ISAPI(Internet Server Application Programming Interface)执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本
apache中的配置方式:

#下面这个是加载TS版本的php必须的
LoadModule php5_module “xxx/php5apache2_2.dll”
#下面这行可有可无

AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt

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

#下面这两行是加载NTS版本的php必须的,不可以直接写成Action application/x-httpd-php “c:/wamp/bin/php/php3.5.6/php-cgi.exe”!
ScriptAlias /php/ "C:/wamp/bin/php/php3.5.6/"
Action application/x-httpd-php “/php/php-cgi.exe”

#另外,还要有之前的AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt,这样才能认识php格式的文件

#这样配置完可能还会因为权限问题而无法用php-cgi.exe解析php网页,所以还要加上下面这段

<Directory "C:/wamp/bin/php/php5.3.6/">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。
XAMPP在http-xampp.conf中默认配置是使用ISAPI的方式

PHP 相关文章推荐
用PHP实现文件上传二法
Oct 09 PHP
php4的session功能评述(一)
Oct 09 PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
Jan 15 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
PHP两种去掉数组重复值的方法比较
Jun 19 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
php面向对象编程self和static的区别
May 08 PHP
PHP遍历目录文件的常用方法小结
Feb 03 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
Feb 07 PHP
THINKPHP截取中文字符串函数实例代码
Mar 20 PHP
PHP实现的折半查询算法示例
Oct 09 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 #PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 #PHP
PHP中操作ini配置文件的方法
Apr 25 #PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 #PHP
关于php正则匹配汉字的方法介绍
Apr 25 #PHP
PHP中如何调用webservice的实例参考
Apr 25 #PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 #PHP
You might like
PHP中实现进程间通讯
2006/10/09 PHP
php中的一些数组排序方法分享
2012/07/20 PHP
FireFox浏览器使用Javascript上传大文件
2013/10/30 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
php打造智能化的柱状图程序,用于报表等
2015/06/19 PHP
php加密解密字符串示例
2016/10/13 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
关于python 跨域处理方式详解
2020/03/28 Python
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
标准自荐信范文
2014/01/29 职场文书
工作时间上网检讨书
2014/02/03 职场文书
运动会跳远广播稿
2014/02/04 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
村官个人总结范文
2015/03/03 职场文书
出纳试用期自我评价
2015/03/10 职场文书
2016年元旦主持词
2015/07/06 职场文书
培训计划通知
2015/07/15 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs