返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中nts和ts
  • 714
分享到

php中nts和ts

php 2023-09-02 22:09:48 714人浏览 独家记忆
摘要

PHP语言解析器:官方提供了2种类型的版本,线程安全(TS)版和非线程安全(NTS)版 TS: TS(Thread-Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类

PHP语言解析器:官方提供了2种类型的版本,线程安全(TS)版和非线程安全(NTS)版

TS:

TS(Thread-Safety)即线程安全,多线程访问时,采用了加机制,当一个线程访问该类的某个数据时进行数据加锁保护,其他线程不能同时进行访问该数据,直到该线程读取完毕,其他线程才可访问使用该数据,好处是不会出现数据不一致或者数据污染的情况,但耗费的时间要比 NTS 长。
//—
php以 ISapi 方式(Apache 常用方式)加载的时候选择TS版本。

NTS:

NTS(None-Thread Safe)即非线程安全,不提供数据访问保护,有可能出现多个线程先后或同时操作同一数据的情况,容易造成数据错乱(即脏数据),一般操作的执行时间要比 TS 短。
//----
PHP以FAST-CGI方式加载运行的时候选择TNS版,具有更好的性能;

ISAPI:

ISAPI(Internet Server Application Programming Interface), 通常是指被Http服务器所加载,以服务器的模块形式运行,由微 软提出,故只能在win平台上运行,如win下的apache,iis[用fast cgi 方式工作更稳定],而linux上php 则以 Apache模块(常用方式)或者php-fpm(该方式更适合于Nginx+PHP 运行)的方式运行。

CGI:

cgi(Common Gateway Interface):HTTP服务器与客户端机器上的程序进行“交谈”的一种工具,简而言之,cig就是一种 后台语言,可以与服务器进行通讯。此时的php是作为一个独立的程序运行的,特点就是耗费内存。

FAST CGI:

fast cgi是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一个新进程。这种方式 是与语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较 高的性能。
FAST-CGI 是微软为了解决 CGI 解释器的不足而提出改进方案。当一个请求向 WEB server 发送请求时,web server总会fork一个CGI解释器进程进行处理这个请求,进程处理完成之后将结果返回给web server,web server将结果返回并显示出来,进程结束,当用户再次请求同一个页面时,web server又会fork一个新进程进行请求处理,这样效率会比较低下(CGI被人诟病的主要原因)。而采用FAST-CGI 解释器的 话,当一个请求执行完毕后不会注销该进程,而是将改进程进入休眠期,当接收到新的请求时,重新启用改进程进行处理。FAST-CGI 较CGI 减少了进程的重复创建的资源占用。

进程与线程:一个进程至少存在一个或多个线程。

通常win下 PHP + Apache 组合,以 ISAPI 的方式运行。

而linux下通常分为2种:

Apache + PHP,PHP一般作为Apache 的模块进行运行;

Nginx + PHP ,以 phpfast cgi的方式,即php-fpm的方式运行,该方式对高并发、高负载有良好的性能体现,因此很多网站采用该方式进行环境的搭建。

Nginx 较Apache 的配置要少很多,因此人为出错的概率要少一点,但也因此 Apache 的 稳定性要比Nginx 高。

前面废话了那么多,下面才是重点 …

总结

以 ISAPI 方式运行就用 TS 线程安全版

以 FAST-CGI 或 PHP-FPM 方式运行就用NTS 非线程安全版

通常 windows 下 Apache + PHP 选TS ,IIS(fast-cgi) + PHP 选TNS

通常Linux 下 Apache + PHP 选TS,Nginx + PHP 选TNS

来源地址:https://blog.csdn.net/hgb24660/article/details/132238228

--结束END--

本文标题: php中nts和ts

本文链接: https://lsjlt.com/news/391485.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php中nts和ts
    PHP语言解析器:官方提供了2种类型的版本,线程安全(TS)版和非线程安全(NTS)版 TS: TS(Thread-Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类...
    99+
    2023-09-02
    php
  • php中nts和ts有什么区别
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。php中nts和ts有什么区别在PHP 开发和生产环境搭建过程中,需要安装PHP语言解析器。官方提供了2种类型的版本,线程安全(TS)版和非线程安全(NTS)版,有时...
    99+
    2015-12-17
    PHP
  • php中nts和ts有哪些区别
    这篇“php中nts和ts有哪些区别”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php中nts和ts有哪些区别”文章吧。p...
    99+
    2023-06-29
  • 怎么查看php是ts还nts
    这篇文章主要介绍“怎么查看php是ts还nts”,在日常操作中,相信很多人在怎么查看php是ts还nts问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么查看php是ts还n...
    99+
    2024-04-02
  • 怎么查看php是ts还是nts
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。怎么查看php是ts还是nts利用phpinfo()方法可以展示出 phpinfo 信息,展示当前PHP环境的上下文信息。示例如下:查看Thread Safety项的...
    99+
    2017-07-01
    php
  • 如何查看php是ts还是nts
    这篇文章主要介绍“如何查看php是ts还是nts”,在日常操作中,相信很多人在如何查看php是ts还是nts问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何查看php是ts还是nts”的疑惑有所帮助!接下来...
    99+
    2023-06-29
  • php中nts指的是什么
    本篇内容介绍了“php中nts指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!NTS即None-Thread Safe,一般以fas...
    99+
    2023-06-20
  • php中的nts是什么意思
    本篇内容介绍了“php中的nts是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php nts是指“None-Thread Safe...
    99+
    2023-06-20
  • 探究PHP版本NTS的作用和用途
    PHP版本NTS是指PHP的非线程安全版本(Non-Thread Safe),相对应的是TS版本(Thread Safe)。在Windows平台上,由于PHP的线程模型与Apache的...
    99+
    2024-04-02
  • 了解PHP版本NTS的含义和重要性
    PHP版本NTS的含义和重要性 PHP(Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,被用于开发动态网页。PHP的版本包括NTS(Non-Thre...
    99+
    2024-04-02
  • PHP版本NTS的含义及特点
    PHP是一种流行的开源脚本语言,被广泛用于Web开发中。而PHP版本中的NTS则是一个重要的概念,本文将介绍PHP版本NTS的含义及特点,并提供具体的代码示例。 1. 什么是PHP版本...
    99+
    2024-04-02
  • TS中interface和type的区别
    在 TypeScript 中,`interface` 和 `type` 都用来定义自定义类型。它们有一些相似之处,但也有一些区别。1...
    99+
    2023-09-22
    TS
  • 解读PHP版本NTS的含义与区别
    PHP版本NTS的含义与区别 PHP是一种流行的服务器端脚本语言,广泛应用于Web开发领域。PHP有两种主要的版本:Thread Safe (TS) 和 Non-Thread Safe...
    99+
    2024-04-02
  • PHP版本NTS的意义及相关知识介绍
    PHP版本NTS的意义及相关知识介绍 PHP是一种广泛应用于服务器端脚本语言,用于开发动态网页和Web应用程序。PHP的版本有两种不同的构建版本:NTS(Non-Thread Safe...
    99+
    2024-04-02
  • ts中的void和never类型及区别
    目录ts中的void和never类型voidnever补充:void类型和never类型void类型never类型ts中的void和never类型 void   表示没有任何类型 /...
    99+
    2023-05-18
    ts void和never ts void和never类型 void类型和never类型
  • ts和es6有哪些区别
    这篇文章将为大家详细讲解有关ts和es6有哪些区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。区别:1、TS是一种免费的开源编程语言,由微软开发和维护;而...
    99+
    2024-04-02
  • vue3中如何使用ts
    目录如何使用tsapp.vueheader.vuelist.vuelistitem.vuefooter.vue如何使用ts 在创建vue脚手架的时候吧typescript选上 app...
    99+
    2024-04-02
  • ts版和tc版有什么区别
    ts版和tc版区别有:1、TC的影片质量比TS好;2、TS使用的是外置的音源,TC使用的音源来自TS,音质更差;3、TS是在空的影院或是用专业摄像机在投影室里面录制的,TC使用的是电视电影机从胶片直接数字拷贝。ts版和tc版有什么区别?相信...
    99+
    2023-07-17
  • 如何在vue3+ts项目中使用query和params传参
    目录一 query 传参 (类似get请求)query 传参方式①query 传参方式② query 传参方式③二 params 传参 (类似post请求)params 传...
    99+
    2023-05-16
    vue query和params传参区别 vue的query传参 vue的params传参
  • vue3+ts项目02-安装eslint、prettier和sass
    创建项目 项目创建 安装eslint yarn add eslint -D 生成配置文件 npx eslint --init 安装其他插件 yarn add -D eslint-pl...
    99+
    2023-10-12
    vue.js javascript 前端
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作