PHP版本中的VC6,VC9,VC11,TS,NTS区别
以windows为例,看看下载到得php zip的文件名
php-5.4.4-nts-Win32-VC9-x86.zip
VC6:legacy Visual Studio 6 compiler,是使用这个编译器编译的。
VC9:Visual Studio 2008 compiler,就是这个编译器编译的。
这个其实没有什么太大的影响,因为从php 5.3,已经没有vc6版本提供下载了
IIS
如果想使用IIS配置PHP的话,那么需要选择Non-Thread Safe(NTS)版本的PHP
Apache
如果你是用的Apache的版本来自Apache Lounge(website:http://apachelounge.com/),可以使用PHP VC11 x86或者x64版本。
如果你使用的是从apache.org下载的Apache1或者Apache2来搭建PHP环境的话,只能使用VC6版本,无法使用VC9+以上版本。
VC9 和VC11
VC9和VC11是PHP的最新版本(这两个版本分别通过Visual Studio 2008和Visual Studio 2012编译),其中包含了对于性能和稳定性的改进。
VC9版本要求用户安装Microsoft Visual C++ 2008 SP1 Redistributable Package(x86 | x64)
VC11版本要求用户安装Visual C++ Redistributable for Visual Studio 2012(x86 | x64)
TS:Thread Safe 线程安全, 执行时会进行线程(Thread)安全检查
NTS:Non Thread Safe 非线程安全, 在执行时不进行线程(Thread)安全检查
我使用Apache+PHP的模式下,一般是把PHP作为一个Module load到apache中,那么以apache父进程-多子进程的工作模式,是需要进行线程安全检查的,所以如果是以这种方式执行php,选择ts版本
那么如果是使用fastcgi,比如说用php-fpm管理php执行,则不需要进行线程安全检查,则选择nts版本的php
---------------------------------------------------------------------------------------------------------------------------
php 5.5.0 beta 1发布后, 安装出现问题, 家中电脑升级是成功的, 可公司的电脑一直提示无法加载到服务. 操作系统都一样的, 没什么区别. www.php.net官网左侧的说明提醒了我.
php-5.5.0beta1-Win32-VC11-x86
安装包的名字也已经说明了, 要运行必须安装vc11, x86表示32位, 假如是x64就是64位, 位数对于安装vc11有帮助, 个人建议vc11 x86, x64两个版本都安装上比较好, 反正没冲突.
然后启动服务, 搞定. phpinfo信息如下:
-----------------------------------------------------------------------------------------------------------------------------
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的方式
转载于:https://www.cnblogs.com/wawahaha/p/4820433.html
PHP版本中的VC6,VC9,VC11,TS,NTS区别相关推荐
- php 如何查看vc版本信息,PHP版本中的VC6,VC9,VC11,TS,NTS区别
以windows为例,看看下载到得php zip的文件名 php-5.4.4-nts-Win32-VC9-x86.zip VC6:legacy Visual Studio 6 compiler,是使用 ...
- PHP中的VC6,VC9,VC11,TS,NTS区别
以windows下下载的php_memcache的扩展为例 1.VC6.VC9.VC11 VC6版本是使用Visual Studio 6编译器编译的 VC9版本是使用Visual Studio 200 ...
- 软件版本中 release stable alpha beta pre snapshot 区别
我们在下载软件会遇到诸如release,stable,alpha,beta,pre,current,eval,rc,snapshot等版本,程序猿下载插件时尤为常见,现在我说明以下版本的意思 1,sn ...
- linux 版本中 i386/i686/x86-64/pcc 等... 的区别
转载 Dartagnan 最后发布于2010-11-17 22:11:00 阅读数 57132 收藏 展开 参考1: 一. I386 为32位 x86 64位 二.安装介质 i386 适用于intel ...
- PHP版本VC6与VC9/VC11/VC14、Thread Safe与None-Thread Safe等的区别
原文:PHP版本VC6与VC9/VC11/VC14.Thread Safe与None-Thread Safe等的区别 最近正好在弄一个PHP的程序,在这之前一直没有怎么以接触,发现对PHP版本知识了解 ...
- php 5.6 mcrypt,php-mcrypt 在PHP5.60+的版本中怎么使用?
目前项目中的一个密码对接放在正式环境之后出现了问题, 原因是在PHP5.6以上的版本中修改了mcrypt_encrypt 和 mcrypt_decrypt, 有人知道在新版本的PHP中应该怎么使用这两 ...
- Java最新版本中另外发现五项漏洞
就在Java披露两项安全漏洞的仅仅一周之后,一家波兰安全企业再次发布报告,称在Java最新版本中另外发现五项漏洞.在旧有漏洞的影响之下,***者能够利用新问题绕过Java的沙箱机制并安装恶意软件. S ...
- php5.5.9 新特性,php,_PHP 5.5.9版本中COOKIE的奇怪现象,php - phpStudy
PHP 5.5.9版本中COOKIE的奇怪现象 我在localhost下建了四个文件 /1.php /a/1.php /test/1.php /test/a/1.php 文件中的代码都是一样的 set ...
- python3.7扩展库是什么_Python3.4以后的版本中,____________库用于安装管理Python扩展包,________________库用于发布Python包。_学小易找答案...
[填空题]Python3.4以后的版本中,____________库用于安装管理Python扩展包,________________库用于发布Python包. [判断题]Directions: The ...
- Tensorflow:在Tensorflow的不同版本中如何实现Xavier参数权重初始化
Tensorflow:在Tensorflow的不同版本中如何实现Xavier参数权重初始化 目录 在Tensorflow的不同版本中实现Xavier参数权重初始化 Tensorflow1版本中实现
最新文章
- 用了这么多年 curl,竟然不知道还有这种用法?!
- 验证证书有效期_笔试查分前,教资考试4个有效期你到底弄清楚了没?逾期不补!...
- FastThreadLocal
- 牛客多校7 - Pointer Analysis(模拟)
- 使用lt;jsp:includegt;,不想写死URL,动态生成URL的解决的方法
- React开发(112):不要写多余的select
- 调整的飞秋官网幅度还非常的大
- Python中dir,hasattr,getattr,setattr,vars的使用
- nagios监控mysql主从
- [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端(续)
- c语言利用循环结构解决密码转换,C语言课件第六章循环结构.ppt
- vue 使用this.reload方法刷新页面配置
- 【转】LPCTSTR,LPWSTR, PTSTR, LPTSTR区别
- mybatis 中collection中需要 open close separator
- Android网易歌词json接口,网易云音乐api分析
- UE4 官方文档阅读笔记——材质篇
- 误差的基本性质与处理matlab实验,基于matlab的误差数据处理实验报告.doc
- 【离散数学】单射、满射、双射、映射的合成与逆映射
- uniapp返回上一页并刷新数据
- 红黑树的插入与验证——附图详解
热门文章
- 一个简单mvp安卓应用的设计
- 桌面支持--outlook会议邀请(选择可选参加的领导)
- ubuntu下安装配置 JDK7
- php 是否支持json,php json 支持汉语
- matlab三维怎么转换二维,求助,二维图像如何绕轴旋转成为三维图像
- Java 反射:Classes
- CF1041B Buying a TV Set
- java怎么把程序写入持久化_如何将DataFrame持久化到Hive表?
- python中rename函数_python-重命名Pandas Groupby函数中的列名
- mysql忽略大小写 chmod_Ubuntu18.04下Mysql8.0.15关闭大小写敏感