TS(Thread-Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。

php以ISAPI方式加载的时候选择这个版本。

NTS(None-Thread Safe)即非线程安全,就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的是脏数据

php以fast cgi方式运行的时候选择这个版本,具有更好的性能。


ISAPI(Internet Server Application Programming Interface), 通常是指被http服务器所加载,以服务器的模块形式运行,由微软提出,故只能在win平台上运行。

例如win下的Apache,iis[据说用fast cgi 方式工作更稳定],而linux上php 则以 Apache模块或者php-fpm的方式运行。

CGI(Common Gateway Interface):HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,说白了,cig就是一种后台语言,其可以和服务器之间进行通讯。

此时的php是作为一个独立的程序运行的。特点就是耗费内存

Fast CGI是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork。这种方式 是与语言无关的、可伸缩架构的CGI开放扩展。

其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。


通常win下php和apache组合,以isapi的方式运行,而linux下可以是apche+php,php常常作为apache的模块,而nginx+php时,php fast cgi的方式,即php-fpm的方式跑

php的ts和nts选择的更多相关文章

  1. PHP中VC6、VC9、TS、NTS版本的区别与用法详解

    Thread safe(线程安全)是运行在Apache上以模块的PHP上,如果你以CGI的模式运行PHP,请选择非线程安全模式(non-thread safe). 1. VC6与VC9的区别: VC6 ...

  2. PHP中VC6、VC9、TS、NTS版本区别与用法

    1. VC6与VC9的区别: VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本.  VC9 版本是使用 Vis ...

  3. PHP TS 和 NTS 版本选择

    在PHP 开发和生产环境搭建过程中,需要安装PHP语言解析器.官方提供了2种类型的版本,线程安全(TS)版和非线程安全(NTS)版,有时后我们开发环境和实际生产的环境有所不同,因此也需要选择安装对应的 ...

  4. php的TS和NTS的区别

    ts(Thread-Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他 线程不能进行访问直到该线程读取完,其他线程才可使用.不会出现数据不一致或者数 ...

  5. PHP安装包TS和NTS的区别

    原文链接:http://blog.csdn.net/zhuifengshenku/article/details/38796555 TS指Thread Safety,即线程安全,一般在IIS以ISAP ...

  6. ts和nts的区别 (redis中碰到)

    [TS指Thread Safet y线程安全 NTS即None-Thread Safe 非线程安全] 区别:[TS   NTS] TS指Thread Safety,即线程安全,一般在IIS以ISAPI ...

  7. 如何判断PHP 是ts还是nts版的

    通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版.

  8. php的ts和nts安装包

    2017-12-29 15:17:05 星期五 翻译一下PHP对 ts , nts 的解释 官网说明地址:  http://windows.php.net/download  (windows下载页左 ...

  9. [VC6,VC9] [ts,nts,deb] [rpm,msi] 你需要下载什么格式的文件

    1.VC6与VC9的区别 VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本. VC9版本是使用Visual Studio 200 ...

随机推荐

  1. eclipse的Android一些问题

    我最近在学习Android 用eclipse来写Android项目 一开始就遇到了许多的坑——但好在有老师们帮助.还有百度: 现在我开始总结: 1.安装eclipse,这个暂时不说,因为我还没遇到什么 ...

  2. ORCLE 列转行

    字符串转多列 实际上就是拆分字符串的问题,可以使用 substr.instr.regexp_substr函数方式 字符串转多行 使用union all函数等方式 wm_concat函数 wm_conc ...

  3. RabbitMQ(1)---基本概念

    一.安装RabbitMQ 安装直接用docker安装,如果手动安装的话比较繁琐,还要安装erlang语言的环境.在安装有docker机器上执行官网提供的指令(https://www.rabbitmq. ...

  4. nacos 配置

    具体请访问 https://nacos.io/zh-cn/docs/what-is-nacos.html 网站查看文档,现在开始使用Nacos. 1. 下载Nacos源码 Nacos可以通过 http ...

  5. .net remoting(一)

    一.远程对象 ①RemoteHello.csproj 类库项目,程序集名称 RemoteHello ,默认命名空间 Wrox.ProCSharp.Remoting: ②派生自System.Marssh ...

  6. 关于ueditor编译器

    取消自动保存提示.edui-editor-messageholder.edui-default{ visibility:hidden;} Qiyuwen 1033935470@qq.com

  7. 【Flume】知识总结

    Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并 ...

  8. 【HIVE】(1)建表、导入数据、外部表、导出数据

    导入数据 1). 本地 load data local inpath "/root/example/hive/data/dept.txt" into table dept; 2). ...

  9. python初学者笔记(2):阿拉伯数字转换成中文大写

    题:输入一个数字,转换成中文大写的写法 可运行的程序(Python 2.7.9): # -*- coding: utf-8 -*- #在python2的py文件里面写中文,必须要添加一行声明文件编码的 ...

  10. Linux (一)概述

    认识操作系统 操作系统的作用 把计算机系统中对硬件设备的操作封装起来,供应用软件调用. ​ 2. 常见操作系统        1.2.1 PC端OS ​ 1.2.2  移动端OS ​ 1.2.3  服 ...