TS版本是什么意思(你知道php中TS和NTS的区别吗?)

ts(Thread-Safety)表示线程安全。当使用多线程访问时,会使用锁定机制。当一个线程访问这个类的某个数据时,它是受保护的,直到线程读完,其他线程才能访问它。只能使用口口网进程。不会出现数据不一致或数据污染。在 ISAPI 模式下加载 php 时选择此版本。在 ISAPI 模式下加载 php 时选择此版本。

nts(None-Thread Safe)不是线程安全的,即不提供数据访问保护。有可能是多个线程先后改变了数据,导致了脏数据。 PHP在fast cgi模式下运行时,选择这个版本,性能更好;

ISAPI(Internet Server Application Programming Interface),通常是指由http服务器加载并以服务器模块的形式运行,由微软提出,所以只能在win平台上运行,比如win下的apache,iis[据说使用快速cgi方式工作更稳定],而linux上的php作为Apache模块或php-fpm运行。

cgi(通用网关接口):HTTP 服务器与您或其他机器上的程序“对话”的工具。说白了,cig是一种可以和服务器通信的背景语言。此时 php 作为独立程序运行。特点是消耗内存。

快速cgi。它是 CGI 的常驻(长寿命)类型。它可以一直执行。只要激活了,就不会每次都花时间fork。这种方法是一种独立于语言的、可扩展的架构。 CGI 开放扩展,其主要行为是将 CGI 解释器进程保留在内存中,从而实现高性能。

TS版本是什么意思(你知道php中TS和NTS的区别吗?) 第1张

ISAPI执行方式以DLL动态库的形式使用,用户请求后执行,处理用户请求后不会立即消失,因此需要进行线程安全检查以提高执行效率程序。所以如果你使用ISAPI来执行PHP,建议选择ThreadSafe版本。

FastCGI 执行方式使用单线程执行操作,因此无需执行线程安全检查。去掉线程安全检查的保护可以提高执行效率。因此,如果 PHP 使用 FastCGI 端口网络执行,建议选择 NonThread Safe Version。

通过phpinfo();检查Thread Safety项,该项是检查是否是线程安全的,如果是:启用,一般应该是ts版本,否则是nts版本。