小编

一、媒介

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

phpnts版本卓象法式员PHP TS 和 NTS 版本选择 NoSQL

二、 简介

TS(Thread-Safety)即线程安全,多线程访问时,采取了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可利用。
不会涌现数据不一致或者数据污染php以ISAPI办法加载的时候选择这个版本,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(该办法更适宜于NGINX+PHP 运行)的办法运行。

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

FAST-CGI是一个常驻(long-live)型的CGI,它可以一贯实行着,只要激活后,不会每次都要花费韶光去fork一个新进程。
这种办法 是与措辞无关的、可伸缩架构的CGI开放扩展,其紧张行为是将CGI阐明器进程保持在内存中并因此得到较 高的性能。

三、选择

常日win下 PHP + Apache 组合,以 ISAPI 的办法运行。

而linux下常日分为2种:

Apache + PHP,PHP一样平常作为Apache 的模块进走运行;

Nginx + PHP ,以 php的Fast-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