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 编程请选择正确的文本编辑软件
Dec 21 PHP
PHP has encountered an Access Violation 错误的解决方法
Jan 17 PHP
php 自写函数代码 获取关键字 去超链接
Feb 08 PHP
thinkphp控制器调度使用示例
Feb 24 PHP
php站内搜索关键词变亮的实现方法
Dec 30 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
May 21 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
Laravel搭建后台登录系统步骤详解
Jul 26 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
Sep 23 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
详细解读php的命名空间(一)
Feb 21 PHP
PHP排序二叉树基本功能实现方法示例
May 26 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与C#的值类型指向区别的详解
2013/05/21 PHP
PHP中使用正则表达式提取中文实现笔记
2015/01/20 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
js类 from qq
2006/11/13 Javascript
JavaScript 事件参考手册
2008/12/24 Javascript
解javascript 混淆加密收藏
2009/01/16 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
jQuery版仿Path菜单效果
2011/12/15 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
python操作MySQL数据库的方法分享
2012/05/29 Python
Python Socket编程入门教程
2014/07/11 Python
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
婚礼答谢礼品
2015/01/20 职场文书
心灵点滴观后感
2015/06/02 职场文书
致运动员的广播稿
2015/08/19 职场文书
员工工作心得体会
2019/05/07 职场文书
实现一个简单得数据响应系统
2021/11/11 Javascript
SQL SERVER实现连接与合并查询
2022/02/24 SQL Server