今天有用户来询问php的ts版本与php的nts版本的区别是什么,怎么去查看自己安装的php服务是ts版本还是nts版本,下面博文就来详细的说一下。

php ts版本与nts版本的区别

php官方提供的安装包分为了 TS 版本与 NTS 版本,关这两个版本的简介与说明,大家参考下说明。

php TS 版本:

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

PHP以 ISAPI 方式(Apache 常用方式)加载的时候选择TS版本。

php NTS 版本:

NTS(None-Thread Safe)即非线程安全,不提供数据访问保护,有可能出现多个线程先后或同时操作同一数据的情况,容易造成数据错乱(即脏数据),一般操作的执行时间要比 TS 短。

PHP以FAST-CGI方式加载运行的时候选择TNS版,具有更好的性能;

查看php版本是TS版本还是NTS版本的方法

使用php中的 phpinfo() 函数可以查看php的版本信息。

查看Thread Safety 信息,如果其值为 enabled 则为TS版,否则为 NTS 版。

查看php是ts版本还是nts版本的方法