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
PHP抽象类 介绍
Jun 13 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
Sep 05 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
Jun 18 PHP
php使用codebase生成随机数
Mar 25 PHP
Yii核心组件AssetManager原理分析
Dec 02 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 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 daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
jsonp原理及使用
2013/10/28 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
JS实现模糊查询带下拉匹配效果
2018/06/21 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
ES6中new Function()语法及应用实例分析
2020/02/19 Javascript
详解Python命令行解析工具Argparse
2016/04/20 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
心得体会范文
2014/01/04 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
银行授权委托书样本
2014/10/13 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android