PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
最近在PHP官网上看到又有新版的PHP下载了,于是上去找找 For Windows的版本,可是一看,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好PHP官网提供下载的地方左边有个英文choose我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典 及上网查找,终于看明白了具体意思,拿来做个备忘先。 再给PHP100做个广告,据说老大要出视频演示了,我就简单解释一下。
一、如何选择PHP5.3的VC9版本和VC6版本
VC6是什么?
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
那我们如何选择下载哪个版本的PHP呢?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在windows下使用IIS+PHP的,请选择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版本。
官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。
相关推荐
-
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
1. VC6与VC9的区别: VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本. VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择 VC9版本. VC9版本是针对IIS服务器的版本,没有对APACHE的支持,而VC6版本对IIS和apache都提供了支持 2.Ts与nts的区别: Windows版的PHP从版本5.2.1开始有Thread Safe和NoneThr
-
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
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)安全检查,以防止有新要求就启动新
-
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
最近在PHP官网上看到又有新版的PHP下载了,于是上去找找 For Windows的版本,可是一看,一共给了四个版本,VC9 x86 Non Thread Safe.VC9 x86 Thread Safe.VC6 x86 Non Thread Safe.VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好PHP官网提供下载的地方左边有个英文choose我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典 及上网查找,终于看明白了具体意思,拿来做个备忘先. 再给PHP100做
-
PowerShell远程安装MSI安装包、EXE可执行程序的方法
尽管对IT管理员或者开发者来讲,这是一个很常见的任务,但是在网上能找到"远程安装一个msi包或者exe应用程序"的相关文档还是比较少的.甚至有人在一些论坛的评论中写道,这不可能实现.事实上还是可以的.我会在本文提供两段代码,分别负责远程安装MSI包和EXE可执行应用程序. 一.安装MSI包 使用PowerShell调用WMI对象,你可以执行下面的脚本来安装你的MSI安装包: 复制代码 代码如下: $box="deviis01" #this is the name o
-
Angular实现下载安装包的功能代码分享
废话不多说了,直接给大家贴代码了,具体代码如下所示: <!DOCTYPE html> <html ng-app="myPro"> <head> <meta charset="UTF-8"> <title>angular-实现下载安装包的功能</title> <script src="js/angular.min.js"></script> <sc
-
ubuntu下用dpkg命令行运行deb安装包的方法
前言 如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境.那该怎么安装?答案是:使用dpkg命令. deb是Debian Linux的安装格式,跟Red Hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian Package的简写,是为Debian 专门开发的套件管理系统,方便软件的安装.更新及移除.所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu.Knoppix 等. dpkg
-
windows7 安装iis7.0图文教程(不需要单独的安装包)
微软没有提供独立的iis7.0安装包,目前,网上也没有可靠的提取包.正常的windows7版本(非精简版),安装系统之后都可以直接进行iis的安装,并不需要安装盘. 一.安装IIS默认情况下,windows7安装时是不会自动安装iis,只能手动安装. 1.安装IIS 开始-控制面板-程序-打开或关闭windows功能 2.如图选择安装 VS2005 中,如果要调试站点的话,必须有"Windows身份验证" "摘要式身份验证" 是使用 Windows 域控制器对请求访
-
Mac下获取AppStore安装包文件路径
通过远在大洋彼岸的苹果服务器下载东西,确实有够慢啊!AppStore更甚:甚至都经常提示连不上服务器,而有些软件呢,还必须从AppStore下载安装,所以没办法,谁让上了苹果的贼船呢!公司的网速更是不敢恭维,以至于基本上不下东西,除非像这次一样:手贱的把iPhone6升级到8.2.2了,然后Xcode6.1.1真机调试不成了,所以需要下个Xcode6.2.昨天刚更新的Xcode6.2,没有看国内有同胞下载下来没,一般我都是会从官网下载一个保存到百度网盘以供自己和别人使用的.但是迅雷.浏览器下载的
-
Visual Studio 2017 (VS 2017)离线安装包制作方法
史上功能最强大的Visual Studio 2017版本发布,但是由于版本更新速度加快和与第三方工具包集成的原因,微软研发团队没有为这个版本提供离线下载的安装文件.如果用户处在一个与外网隔离的网络环境中,则必须首先自行创建理想安装包.下面在参考微软官方文档(Create an offline installation of Visual Studio 2017 -)的基础上, 介绍如何创建离线包. 下载安装工具 用户可以通过不同的途径从(https://www.visualstudio.com)
-
win10下Python3.6安装、配置以及pip安装包教程
0.目录 1.前言 2.安装python 3.使用pip下载.安装包 3.1 安装Scrapy 3.2 安装PyQt 3.3 同时安装多个包 3.4 pip的常用命令 1.前言 之前在电脑上安装了python3.6.2(目前是最新版),可以看到,是2017-07-17才出的.因此,我发现有三个重要的包:Scrapy.PyQt和TensorFlow都还没有适配python3.6.2版本.无奈之下,只能卸载python3.6.2,安装稍微老一点的python3.6.1.另附Windows下pytho
-
MySQL 5.5/5.6/5.7及以上版本安装包安装时如何选择安装路径
安装环境需求: 自从昨天安装了mysql 5.7,发现了一个问题,mysql5.6起,已经不支持2003系统了,如果安装了无法开启服务而且会出现在 本地计算机 无法启动 MySQL57 服务.错误 193: 0xc1,那就是版本不兼容,提示mysqld.exe不是正确的32位程序. 昨天整理的一篇mysql 5.7的安装教程大家可以参考一下: http://www.jb51.net/article/82399.htm 路径问题就可以参考下面的文章了: 从2016年4月以后从官方下载的mysql
-
Android中获取apk安装包信息的方法
一.获取安装包信息 复制代码 代码如下: /** * 获取apk包的信息:版本号,名称,图标等 * @param absPath apk包的绝对路径 * @param context */ public void apkInfo(String absPath,Context context) { PackageManager pm = context.getPackageManager(); PackageInfo pkgInfo = pm.getPackageArchiveInf
随机推荐
- python分布式环境下的限流器的示例
- javascript 面向对象全新理练之数据的封装
- JS实现密码框的显示密码和隐藏密码功能示例
- springboot整合freemarker详解
- JS绕过代理、VPN获取真实IP及内网IP,逆向追踪的实现方法
- 基于PHP生成简单的验证码
- Android仿QQ登陆窗口实现原理
- c++基础语法:普通继承
- windows下mysql 5.7版本中修改编码为utf-8的方法步骤
- PHP系列学习之日期函数使用介绍
- JS+CSS实现另类带提示效果的竖向导航菜单
- android截屏功能实现代码
- 加载列表时jquery获取ul中第一个li的属性
- 浅谈通过JS拦截 pushState和replaceState事件
- Javascript学习笔记之 函数篇(三) : 闭包和引用
- Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
- Core Animation一些Demo总结 (动态切换图片、大转盘、图片折叠、进度条等动画效果)
- java中hasNextInt判断后无限循环输出else项的解决方法
- Python中的Function定义方法第1/2页
- C#中线程同步对象的方法分析